Repository navigation
Separate inline provider discovery from scope propagation - #741
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 2546d42 | Previous: 6f2fbfe | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
6832726.518924468 iter/sec (stddev: 4.963557635167553e-9) |
5077330.278823607 iter/sec (stddev: 7.55436049526812e-9) |
0.74 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
6910561.577052609 iter/sec (stddev: 6.151695116399471e-9) |
5141244.642889801 iter/sec (stddev: 6.046444816854142e-9) |
0.74 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
28968.788742873992 iter/sec (stddev: 0.000031932608150863685) |
22120.217478755156 iter/sec (stddev: 0.00003962345736838338) |
0.76 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
23495.25411983656 iter/sec (stddev: 0.0001247738051357269) |
18064.3857432313 iter/sec (stddev: 0.00011308679544906829) |
0.77 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
883.3273483983934 iter/sec (stddev: 0.000021294022786665583) |
663.2071197339667 iter/sec (stddev: 0.00007721751071773372) |
0.75 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
855.9586126972415 iter/sec (stddev: 0.000020062286021468935) |
650.1468893120472 iter/sec (stddev: 0.000022698857327619953) |
0.76 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
795.2385303300639 iter/sec (stddev: 0.00006730093062169477) |
618.8345316233573 iter/sec (stddev: 0.000030292421619313078) |
0.78 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
23780.779265028646 iter/sec (stddev: 0.000005655716376392802) |
19835.27465554979 iter/sec (stddev: 0.000006475458707494782) |
0.83 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
10913.946623052614 iter/sec (stddev: 0.00001551043697623885) |
9469.175387917148 iter/sec (stddev: 0.00003809909862343328) |
0.87 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
6131.41586246382 iter/sec (stddev: 0.000022058087759928815) |
4965.674362163872 iter/sec (stddev: 0.00003461963143911917) |
0.81 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
16883.49054903993 iter/sec (stddev: 0.00003832118653796406) |
15350.56271962902 iter/sec (stddev: 0.000007781172382551884) |
0.91 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
8736.60341970358 iter/sec (stddev: 0.00001760016694348608) |
6365.753941312758 iter/sec (stddev: 0.000013846458217463492) |
0.73 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
3652.8643997163595 iter/sec (stddev: 0.00004782335557894379) |
2978.6210220818853 iter/sec (stddev: 0.00006048426402098576) |
0.82 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] |
49956.26745143379 iter/sec (stddev: 0.0000017408680525753116) |
50012.56565879625 iter/sec (stddev: 0.000003074432659178213) |
1.00 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] |
29928.61277635978 iter/sec (stddev: 0.00000914551396744805) |
21643.561563392832 iter/sec (stddev: 0.000009694910979211385) |
0.72 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] |
11483.145899676862 iter/sec (stddev: 0.000022601144790207458) |
8346.09938779021 iter/sec (stddev: 0.00002358344481883111) |
0.73 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
2372461.2292439304 iter/sec (stddev: 9.251991434102582e-8) |
2173990.905436161 iter/sec (stddev: 3.3897796615241804e-8) |
0.92 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
3255547.717823836 iter/sec (stddev: 1.6875154486959e-8) |
2342649.092184802 iter/sec (stddev: 1.500888984864835e-8) |
0.72 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
5545.483417255216 iter/sec (stddev: 0.00005704035207340103) |
4659.783129963655 iter/sec (stddev: 0.000006140854849229854) |
0.84 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
89761.79044697786 iter/sec (stddev: 0.00001072053338333431) |
75852.87780313949 iter/sec (stddev: 0.0000011963932776962248) |
0.85 |
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync |
512783.842201346 iter/sec (stddev: 6.823559158114663e-7) |
601715.346039723 iter/sec (stddev: 5.409961584624612e-8) |
1.17 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
72754.70056638418 iter/sec (stddev: 0.00001869001098300153) |
91663.38045000099 iter/sec (stddev: 0.0000010000272334711053) |
1.26 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
824.497593838833 iter/sec (stddev: 0.0032948059215279833) |
813.8905308876851 iter/sec (stddev: 0.001032018780135722) |
0.99 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
4050543.081617562 iter/sec (stddev: 2.181330833104331e-8) |
2961285.1207448766 iter/sec (stddev: 2.7262926631991528e-8) |
0.73 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
6815875.728595492 iter/sec (stddev: 3.145552715013306e-9) |
5116393.082015457 iter/sec (stddev: 5.241330495191092e-9) |
0.75 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
1532449.1510387778 iter/sec (stddev: 3.526218044735672e-8) |
1117120.9736963147 iter/sec (stddev: 4.470065606538694e-8) |
0.73 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
874669.1017493532 iter/sec (stddev: 3.372316339026502e-7) |
598760.6253802265 iter/sec (stddev: 3.2461528441626e-7) |
0.68 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
3639405.848767993 iter/sec (stddev: 1.633732753142003e-8) |
2670215.2046834333 iter/sec (stddev: 2.071193356508275e-8) |
0.73 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
2739685.870344853 iter/sec (stddev: 1.1692335542516656e-7) |
2023191.0295035017 iter/sec (stddev: 1.0446236757466905e-7) |
0.74 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
1553769.9976040225 iter/sec (stddev: 3.08146414863006e-8) |
1089956.7461589396 iter/sec (stddev: 4.900556105818441e-8) |
0.70 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
6476294.689040137 iter/sec (stddev: 8.475919005286849e-9) |
5095047.343947224 iter/sec (stddev: 9.986743644765253e-9) |
0.79 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
81398.57954004573 iter/sec (stddev: 0.000004831070449707068) |
62912.5886197799 iter/sec (stddev: 0.00000482914401406931) |
0.77 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
49118.22954329102 iter/sec (stddev: 0.0000015455987949330207) |
37462.512668528456 iter/sec (stddev: 0.000002271057228571476) |
0.76 |
benchmarks/test_guard_validate.py::test_g11b_validate_shared_alias_chain |
5074.534182968584 iter/sec (stddev: 0.00000960040431870764) |
3832.5586942281443 iter/sec (stddev: 0.000012882178941992052) |
0.76 |
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 inline graph discovery and preserve discovery-order tie-breaking for equal-valued scopes. Add an identity-based regression test.
Local checks passed 1,128 tests at 100% coverage, plus Ruff and ty. Median stamping time fell from 3.20 ms to 2.95 ms on a local graph with 8,192 shared edges.