Skip to content

docs(performance): name the release the snapshot ships in - #500

Merged
lesnik512 merged 1 commit into
mainfrom
docs/name-the-release-in-perf-snapshot
Sep 19, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
docs/name-the-release-in-perf-snapshot

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Summary

The Results paragraph described the measured commit as "3.4.0 plus the template resolver of #470,
unreleased when measured". That was written while #470 was unmerged-to-a-release; 3.5.0 shipped
18bbe64, so the parenthetical now says something false about a released version.

Rather than swapping one time-sensitive phrasing for another, the sentence now names the release
the commit ships in. 18bbe64 is in 3.5.0 permanently, so this cannot rot again: a later release
does not make "first released in 3.5.0" wrong, and the blockquote below the paragraph already
tells the reader these numbers are a snapshot that a newer release does not update.

Same treatment for the history paragraph further down, where "#470 (after 3.4.0)" becomes
"#470, in 3.5.0" — the release is both more precise and more useful to a reader working out
which version they need.

Changes

No numbers, tables or methodology changed. Text only.

Checklist

  • Lint and format pass (ruff) — no Python touched
  • Type check passes (ty) — no Python touched
  • Tests pass and new behavior is covered — docs-only, no behavior
  • Build succeeds (uv build) if packaging or build config changed — not touched; just docs-build (mkdocs --strict) passes locally
  • Repo metadata stays consistent across the three surfaces — not touched

The measurement paragraph described 18bbe64 as "3.4.0 plus the template resolver of #470, unreleased when measured", which stopped being true the moment 3.5.0 shipped that commit. Name the release instead: 18bbe64 is in 3.5.0 permanently, so the sentence cannot rot again.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Details
Benchmark suite Current: 512c771 Previous: 7cfecfd Ratio
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type 4085119.3441057624 iter/sec (stddev: 1.5241023757425935e-8) 3862036.0237035276 iter/sec (stddev: 1.3303917229091063e-8) 0.95
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry 4057558.9076482537 iter/sec (stddev: 1.3217755637867651e-8) 3813872.3504519854 iter/sec (stddev: 9.38985556468168e-9) 0.94
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve 16291.440756481155 iter/sec (stddev: 0.0000415772652747637) 15266.696049618851 iter/sec (stddev: 0.00024776227293024416) 0.94
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached 13362.426712943425 iter/sec (stddev: 0.0001247065601936726) 13815.868686408368 iter/sec (stddev: 0.000047392563832202765) 1.03
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] 560.9121649652575 iter/sec (stddev: 0.00003537909271232425) 565.6511089983209 iter/sec (stddev: 0.000030007400355752134) 1.01
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] 495.7996225825537 iter/sec (stddev: 0.00019948311404333988) 522.6693810949874 iter/sec (stddev: 0.000023965715560089692) 1.05
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] 454.7269837419972 iter/sec (stddev: 0.00010154235162832769) 466.44468742863137 iter/sec (stddev: 0.000028202407331081627) 1.03
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] 1668.8474794662202 iter/sec (stddev: 0.00021343669983322474) 1722.2042618656355 iter/sec (stddev: 0.00016413763644843266) 1.03
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] 1297.6978440121532 iter/sec (stddev: 0.00027038961078582334) 1356.109018553321 iter/sec (stddev: 0.00020812095438373855) 1.05
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] 958.2087781697817 iter/sec (stddev: 0.0002387782755440825) 987.4683274689364 iter/sec (stddev: 0.00021213840360646109) 1.03
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] 1307.5189005130303 iter/sec (stddev: 0.001707843047694891) 1450.4575728282805 iter/sec (stddev: 0.0011095057378529203) 1.11
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] 1177.4653617661877 iter/sec (stddev: 0.00026936035796399466) 1222.5626130852595 iter/sec (stddev: 0.00020886205986378695) 1.04
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] 791.2110170331308 iter/sec (stddev: 0.00027826134868258175) 822.8026761408097 iter/sec (stddev: 0.00021311875574685902) 1.04
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container 741372.3350537777 iter/sec (stddev: 5.958608765729965e-8) 748186.386844205 iter/sec (stddev: 4.9565066317337825e-8) 1.01
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope 680245.1535516406 iter/sec (stddev: 7.036105148709118e-8) 676046.2906492165 iter/sec (stddev: 2.8384858854666474e-8) 0.99
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch 2411.224994927644 iter/sec (stddev: 0.000028720984282624873) 2477.2191848353623 iter/sec (stddev: 0.000010745635352416172) 1.03
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control 60990.164937348 iter/sec (stddev: 0.0000020437641495018646) 61051.803113664784 iter/sec (stddev: 0.0000017055814125832133) 1.00
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale 48524.78145562509 iter/sec (stddev: 0.000002864788764328528) 49977.87998963018 iter/sec (stddev: 0.0000018795544700124884) 1.03
benchmarks/test_guard_resolve.py::test_g1_transient_resolve 2481118.686788463 iter/sec (stddev: 3.951465264347602e-8) 2476325.4005803284 iter/sec (stddev: 2.3200973619045826e-8) 1.00
benchmarks/test_guard_resolve.py::test_g2_cached_resolve 4247389.904577962 iter/sec (stddev: 6.321778611781777e-9) 4104644.294235942 iter/sec (stddev: 6.547714517168123e-9) 0.97
benchmarks/test_guard_resolve.py::test_g3_deep_chain 819338.888560229 iter/sec (stddev: 3.2108667328373944e-7) 857840.2383689815 iter/sec (stddev: 4.823183237768852e-8) 1.05
benchmarks/test_guard_resolve.py::test_g4_wide_resolve 498280.9059603148 iter/sec (stddev: 3.367575207945311e-7) 506194.3636994246 iter/sec (stddev: 4.035066237162266e-7) 1.02
benchmarks/test_guard_resolve.py::test_g5_cross_scope 1949651.8019386434 iter/sec (stddev: 3.3603506884799316e-8) 1784764.4563767784 iter/sec (stddev: 2.3268893140779702e-8) 0.92
benchmarks/test_guard_resolve.py::test_g9_context_resolve 1103508.9764657184 iter/sec (stddev: 1.5294036210517903e-7) 1109671.035533132 iter/sec (stddev: 1.3847430467634571e-7) 1.01
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve 849547.0809630955 iter/sec (stddev: 8.82733190480943e-8) 867628.3690852221 iter/sec (stddev: 3.486272088767959e-8) 1.02
benchmarks/test_guard_resolve.py::test_g18_alias_hop 2890310.4077845346 iter/sec (stddev: 1.0406309105733445e-8) 2843489.9619360515 iter/sec (stddev: 9.243187930869865e-9) 0.98
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain 23908.49358791877 iter/sec (stddev: 0.00003361855471047063) 24467.966098418787 iter/sec (stddev: 0.000025458356958895093) 1.02
benchmarks/test_guard_validate.py::test_g11_validate_wide 15050.384548617154 iter/sec (stddev: 0.00002853764165956522) 15162.040440855777 iter/sec (stddev: 0.000027705191788468367) 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@lesnik512
lesnik512 merged commit f53a2e1 into main Sep 19, 2026
10 checks passed
@lesnik512
lesnik512 deleted the docs/name-the-release-in-perf-snapshot branch September 19, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant