Repository navigation
Extract dependency edge scope validation - #742
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 746a68a | Previous: 1176ac8 | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
4003922.7231873316 iter/sec (stddev: 1.363432388185174e-8) |
4936895.369163403 iter/sec (stddev: 3.676625310870205e-8) |
1.23 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
4038291.7283043475 iter/sec (stddev: 8.989648699525637e-9) |
5185285.549266807 iter/sec (stddev: 8.527547726064306e-9) |
1.28 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
17068.176329614125 iter/sec (stddev: 0.00005267943273709192) |
22371.427532683338 iter/sec (stddev: 0.000040024156000767515) |
1.31 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
13934.589764508917 iter/sec (stddev: 0.00018102881560564163) |
18340.10096554201 iter/sec (stddev: 0.0001169264727564596) |
1.32 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
523.3371916131073 iter/sec (stddev: 0.00004350681931620878) |
670.1791606856578 iter/sec (stddev: 0.000013469942448543039) |
1.28 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
511.34634708609394 iter/sec (stddev: 0.000021629038019226956) |
617.5599496855034 iter/sec (stddev: 0.00003599668908270907) |
1.21 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
484.6292930473082 iter/sec (stddev: 0.00003842534569225235) |
594.4242131784404 iter/sec (stddev: 0.00007372956844493535) |
1.23 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
15674.044657098253 iter/sec (stddev: 0.00000849429887919743) |
19533.313333293536 iter/sec (stddev: 0.000006581955266734907) |
1.25 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
7745.054992198369 iter/sec (stddev: 0.000018864935310080184) |
9944.706602552433 iter/sec (stddev: 0.000011761122007620134) |
1.28 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
4027.752422512448 iter/sec (stddev: 0.0000317283692903688) |
5060.128025457724 iter/sec (stddev: 0.000027535320354958103) |
1.26 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
11554.063968650102 iter/sec (stddev: 0.000011210149385197259) |
15363.781702723856 iter/sec (stddev: 0.000008842532618748858) |
1.33 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
5290.459449950253 iter/sec (stddev: 0.000018084457079848653) |
6552.736780547483 iter/sec (stddev: 0.000014264916436949417) |
1.24 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
2361.487445841417 iter/sec (stddev: 0.0000808919601104252) |
3081.5093109345685 iter/sec (stddev: 0.0000423877818464963) |
1.30 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] |
42811.22781470857 iter/sec (stddev: 0.000003300291425735987) |
53592.91358868133 iter/sec (stddev: 0.000002999552375425794) |
1.25 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] |
18322.85978350669 iter/sec (stddev: 0.000010156812791212368) |
23444.13487334769 iter/sec (stddev: 0.000008148673007900391) |
1.28 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] |
6766.177592310481 iter/sec (stddev: 0.000028237130655370594) |
8539.804455567879 iter/sec (stddev: 0.000022576963118174567) |
1.26 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
1609671.0323356132 iter/sec (stddev: 2.4496655668940505e-8) |
2118941.370533212 iter/sec (stddev: 2.8383700271349663e-8) |
1.32 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
1817203.7495630153 iter/sec (stddev: 1.8354691174218447e-8) |
2307806.721647228 iter/sec (stddev: 1.2016580979206825e-8) |
1.27 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
3613.668210315736 iter/sec (stddev: 0.000007685620935208312) |
4458.476384334858 iter/sec (stddev: 0.000005638063911092665) |
1.23 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
54591.04137309729 iter/sec (stddev: 0.0000015892359924343592) |
65420.1995357907 iter/sec (stddev: 0.0000011859455641773357) |
1.20 |
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync |
463675.46686432534 iter/sec (stddev: 1.063426837390671e-7) |
588069.1645784454 iter/sec (stddev: 6.993423764139669e-8) |
1.27 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
72839.5903847585 iter/sec (stddev: 0.0000012092185417515656) |
93193.57618011041 iter/sec (stddev: 8.330578983943496e-7) |
1.28 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
646.3352767520598 iter/sec (stddev: 0.0011149026580788426) |
810.3721888609733 iter/sec (stddev: 0.0010524442637021617) |
1.25 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
2352208.3943543746 iter/sec (stddev: 2.6703788960523895e-8) |
2975932.9605662604 iter/sec (stddev: 6.243530423977836e-8) |
1.27 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
3864164.5685907556 iter/sec (stddev: 1.5106342112805607e-8) |
5020660.268035853 iter/sec (stddev: 6.674359993741647e-9) |
1.30 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
878660.9628691508 iter/sec (stddev: 9.81117310737342e-8) |
1108917.3337884753 iter/sec (stddev: 3.8866369724964376e-8) |
1.26 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
472773.0810007924 iter/sec (stddev: 3.915165193705911e-7) |
609720.3508461558 iter/sec (stddev: 3.4020510446463985e-7) |
1.29 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
2121355.987724311 iter/sec (stddev: 2.3590652843093282e-8) |
2720917.221192701 iter/sec (stddev: 1.779889195717244e-8) |
1.28 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1582452.438110924 iter/sec (stddev: 1.3360545400939944e-7) |
2084557.5766295542 iter/sec (stddev: 1.1576177559214498e-7) |
1.32 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
888225.2070111556 iter/sec (stddev: 3.895334759317469e-8) |
1150641.6610754596 iter/sec (stddev: 7.098777556420328e-8) |
1.30 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
3896083.8084997735 iter/sec (stddev: 1.0969649857995606e-8) |
5007057.447470116 iter/sec (stddev: 5.218115225560696e-9) |
1.29 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
49467.526596644806 iter/sec (stddev: 0.000005665005749763284) |
63628.022773893186 iter/sec (stddev: 0.0000055056573863301614) |
1.29 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
29213.81732155177 iter/sec (stddev: 0.0000026028514304618294) |
33201.13600123433 iter/sec (stddev: 0.00001108977747576861) |
1.14 |
benchmarks/test_guard_validate.py::test_g11b_validate_shared_alias_chain |
2967.661056190747 iter/sec (stddev: 0.000013924849001072984) |
3868.9465693024863 iter/sec (stddev: 0.000009658198714652197) |
1.30 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extract edge scope checks from the validation event loop. Keep cached scope-owner lookups, lazy dependency chains, and error order. Skip ordering comparisons for identical scope members.
All 1,128 tests passed with 100% coverage. Lint and type checks passed. Median validation times stayed within 1% of main across deep-chain, wide fan-out, and shared-alias benchmarks.