Repository navigation
docs: regenerate the performance tables against that-depends 4.2.0 and wireup 2.12.1 - #636
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: ab34041 | Previous: ab327b3 | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
5600045.741188381 iter/sec (stddev: 1.8024542361587748e-8) |
3796230.2067506164 iter/sec (stddev: 2.2016894112096956e-8) |
0.68 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
5440900.960969591 iter/sec (stddev: 1.785971922098484e-8) |
3880215.5723586506 iter/sec (stddev: 1.1117761097720119e-8) |
0.71 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
27784.948761599033 iter/sec (stddev: 0.000035417621985403194) |
20571.891001139265 iter/sec (stddev: 0.00005020645550637434) |
0.74 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
22119.60554184751 iter/sec (stddev: 0.00008165624346520518) |
16706.921491087753 iter/sec (stddev: 0.0002688280325621716) |
0.76 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
737.500811340699 iter/sec (stddev: 0.00004503960608752599) |
408.87719585996916 iter/sec (stddev: 0.00006380477868859592) |
0.55 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
693.7887612012582 iter/sec (stddev: 0.00006845557515799535) |
353.05496125820997 iter/sec (stddev: 0.00009605526515037377) |
0.51 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
658.4557944807525 iter/sec (stddev: 0.000057141230929376994) |
383.03404524037387 iter/sec (stddev: 0.00023238050187812838) |
0.58 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
15182.702953862094 iter/sec (stddev: 0.000008338539505725873) |
13394.381949705563 iter/sec (stddev: 0.00000704658119459766) |
0.88 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
6533.249010867386 iter/sec (stddev: 0.000025914361255943924) |
6262.760701128717 iter/sec (stddev: 0.000017720342212326327) |
0.96 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
3444.5306278812855 iter/sec (stddev: 0.0000491308366437989) |
3399.6417400926744 iter/sec (stddev: 0.00004235702471290802) |
0.99 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
10396.262197185826 iter/sec (stddev: 0.00001775651566722593) |
8358.985550722324 iter/sec (stddev: 0.000012666107144002858) |
0.80 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
4216.870116008499 iter/sec (stddev: 0.0000362418844663119) |
3991.468634939831 iter/sec (stddev: 0.000028646092803128944) |
0.95 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
2112.871199338514 iter/sec (stddev: 0.000052578575358017594) |
1848.5361542332341 iter/sec (stddev: 0.00005477419121188742) |
0.87 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] |
30451.62809602825 iter/sec (stddev: 0.000004119178419852186) |
40022.06549842212 iter/sec (stddev: 0.000005498973787204419) |
1.31 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] |
11774.926980729526 iter/sec (stddev: 0.000018233439727718593) |
14259.898775966156 iter/sec (stddev: 0.000017464796929260837) |
1.21 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] |
5558.063374340183 iter/sec (stddev: 0.0000417017000054041) |
5754.310781995923 iter/sec (stddev: 0.00003356929144625474) |
1.04 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
2207985.377834516 iter/sec (stddev: 5.092146631918864e-8) |
1597866.2094593206 iter/sec (stddev: 2.8466424621061744e-8) |
0.72 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
2399388.25198217 iter/sec (stddev: 1.7850598201524394e-8) |
1675968.2906844022 iter/sec (stddev: 1.934641984365072e-8) |
0.70 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
3428.380931259632 iter/sec (stddev: 0.000008542824402329704) |
2974.4359631824095 iter/sec (stddev: 0.000009310290764395594) |
0.87 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
82476.81642322976 iter/sec (stddev: 0.0000010832736663002957) |
56045.761735333464 iter/sec (stddev: 0.000004339773637339862) |
0.68 |
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync |
467005.3155708673 iter/sec (stddev: 8.28529377909236e-8) |
384089.27832577546 iter/sec (stddev: 8.814130931303454e-8) |
0.82 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
75394.3945073056 iter/sec (stddev: 0.0000012644797740178197) |
56949.416219946106 iter/sec (stddev: 0.000002002413817813893) |
0.76 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
679.529152000041 iter/sec (stddev: 0.0008808164404513232) |
526.8715294370162 iter/sec (stddev: 0.0012012251058835452) |
0.78 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
2954824.7190697473 iter/sec (stddev: 2.5064819335418454e-8) |
2076488.384049018 iter/sec (stddev: 2.806700688454109e-8) |
0.70 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
5539850.387479116 iter/sec (stddev: 1.2768457953122149e-8) |
3302371.181750321 iter/sec (stddev: 2.4689855614275137e-8) |
0.60 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
1054720.6196685496 iter/sec (stddev: 4.3267243592524475e-8) |
700059.2600176225 iter/sec (stddev: 6.974852131085896e-8) |
0.66 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
569230.8200237781 iter/sec (stddev: 3.2201859060924786e-7) |
427285.24809034634 iter/sec (stddev: 4.13325042226588e-7) |
0.75 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
2662439.0684223864 iter/sec (stddev: 3.2871018075265306e-8) |
1827027.204298639 iter/sec (stddev: 4.6473050604127136e-8) |
0.69 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1938337.5102045329 iter/sec (stddev: 1.1712804710716354e-7) |
1380479.134623578 iter/sec (stddev: 1.7091258365125786e-7) |
0.71 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
1038221.0704898619 iter/sec (stddev: 3.5280335589290185e-8) |
689737.8220308513 iter/sec (stddev: 6.83504389683252e-8) |
0.66 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
5492711.309432151 iter/sec (stddev: 1.1850945987988182e-8) |
3554036.6392777804 iter/sec (stddev: 2.0667600405578157e-8) |
0.65 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
42327.57470915251 iter/sec (stddev: 0.00001591537369772318) |
36416.568397651434 iter/sec (stddev: 0.000018577553880640194) |
0.86 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
25174.856581846645 iter/sec (stddev: 0.000023054361694171084) |
19045.863684073403 iter/sec (stddev: 0.00025450672028487465) |
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.
Regenerates
docs/introduction/performance.mdafter #635 bumped the comparative-tier rivals. The four results tables are pasted fromjust bench-report(5 runs) without edits. The header, the numbers quoted in the prose and the "What moved in this publication" section now match them.Measured 2026-10-10 on the same Apple M2 (macOS 26.6.2) and CPython 3.14.7 as the 4.0.0 publication, with modern-di at
ab327b3.What moved
Another session's Python process was using about one core during the run. Across-run IQR stayed at 2.8% or less (the 4.0.0 run was 1.8% or less). If that's too noisy to publish, rerun on an idle machine.
Verification
mkdocs build --strictpassestests/test_bench_report.py: 15 passed