docs: plain-prose pass over README and published docs - #550
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 3d2a3ec | Previous: 3bb845c | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
3748966.7847559517 iter/sec (stddev: 6.536767954885753e-9) |
3552595.6276174076 iter/sec (stddev: 1.8017495134377973e-8) |
0.95 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
3744696.1995632937 iter/sec (stddev: 8.11036842585726e-9) |
3525743.000987044 iter/sec (stddev: 1.9520895722614712e-8) |
0.94 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
15262.283863453004 iter/sec (stddev: 0.000056144324850628354) |
15442.399035232269 iter/sec (stddev: 0.0000504562631484814) |
1.01 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
13002.56170014031 iter/sec (stddev: 0.00012105475718252928) |
12987.261259255825 iter/sec (stddev: 0.00013444409804140028) |
1.00 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
455.3955817409212 iter/sec (stddev: 0.000050486138046866206) |
370.149961520189 iter/sec (stddev: 0.00006432698950621452) |
0.81 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
419.09836567790626 iter/sec (stddev: 0.000039590248208970655) |
353.9950395466471 iter/sec (stddev: 0.00004818188411818694) |
0.84 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
377.1765699010654 iter/sec (stddev: 0.00011017185804252727) |
325.7458820366416 iter/sec (stddev: 0.00005350777640166116) |
0.86 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
1509.1429729233507 iter/sec (stddev: 0.00018523510489365963) |
1591.09633100402 iter/sec (stddev: 0.00019877711335045307) |
1.05 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
1200.9439179018766 iter/sec (stddev: 0.00024118857648077488) |
1251.96977882641 iter/sec (stddev: 0.00025669199194511646) |
1.04 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
872.6382699702993 iter/sec (stddev: 0.0002500576515871365) |
948.6776536343597 iter/sec (stddev: 0.00019771596542946792) |
1.09 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
1264.863049956556 iter/sec (stddev: 0.0012603372528518645) |
1341.9049449995864 iter/sec (stddev: 0.0013131786726602232) |
1.06 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
1121.4517477002366 iter/sec (stddev: 0.00021032087247726763) |
1157.5662043227023 iter/sec (stddev: 0.00020992030300014155) |
1.03 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
719.0375940654415 iter/sec (stddev: 0.0002691176420246703) |
771.876181875189 iter/sec (stddev: 0.00023582272008191215) |
1.07 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
817861.2723259545 iter/sec (stddev: 7.574284011913898e-8) |
799413.3425239581 iter/sec (stddev: 4.6161785509303694e-8) |
0.98 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
785911.0048580153 iter/sec (stddev: 3.95400831295033e-8) |
741469.4129403305 iter/sec (stddev: 8.216022529812231e-8) |
0.94 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
2423.122423645699 iter/sec (stddev: 0.000013429193034333899) |
2418.1335157858957 iter/sec (stddev: 0.000011054809907129041) |
1.00 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
56207.67718364238 iter/sec (stddev: 0.000002660081497777069) |
55362.81582342883 iter/sec (stddev: 0.0000037110526828629025) |
0.98 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
45445.524114963955 iter/sec (stddev: 0.0000020907397910757774) |
35058.66382477332 iter/sec (stddev: 0.00000686006290349675) |
0.77 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
578.5642523083935 iter/sec (stddev: 0.000028699674660190535) |
552.0029132868616 iter/sec (stddev: 0.000024694912850732793) |
0.95 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
2226720.3209929727 iter/sec (stddev: 5.478080783414517e-8) |
2164661.000023137 iter/sec (stddev: 2.9672373641740744e-8) |
0.97 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
3594999.054309258 iter/sec (stddev: 1.133302239101231e-8) |
3478358.9895358584 iter/sec (stddev: 2.2492268429006365e-8) |
0.97 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
750179.0349159556 iter/sec (stddev: 6.482694244770068e-8) |
734894.0596930252 iter/sec (stddev: 4.385126547025142e-8) |
0.98 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
465230.6067828385 iter/sec (stddev: 3.4785942847911485e-7) |
448788.90051667934 iter/sec (stddev: 3.574176524885024e-7) |
0.96 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
1992556.010003286 iter/sec (stddev: 3.400860028373226e-8) |
1993989.5173966833 iter/sec (stddev: 3.37719590410727e-8) |
1.00 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1050736.7963374218 iter/sec (stddev: 1.7683787190997395e-7) |
1040260.310581399 iter/sec (stddev: 1.6805736399783922e-7) |
0.99 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
711167.0436069932 iter/sec (stddev: 9.366771760959301e-8) |
738595.5583310551 iter/sec (stddev: 4.479275195662805e-8) |
1.04 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
2298485.617464901 iter/sec (stddev: 1.1021860597509296e-8) |
1972756.1585418966 iter/sec (stddev: 2.1135635307380664e-8) |
0.86 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
23190.658270988817 iter/sec (stddev: 0.000022741002005993537) |
23479.450624332232 iter/sec (stddev: 0.000023210661423516627) |
1.01 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
14140.246833074865 iter/sec (stddev: 0.000027656583936823687) |
14154.42798938568 iter/sec (stddev: 0.000028768193092020475) |
1.00 |
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.
Prose pass over README.md and every page mkdocs publishes (docs/, excluding docs/agents and docs/adr). Code blocks, inline code, link targets, admonition syntax and headings are unchanged, so no anchors moved.
What changed
X→" labels in the migration guides, and the thread-safety bullets in design-decisions. Bold spans overall went from 266 to 58. The rest are inline emphasis on an ordering constraint (before, after, must), a term being defined, or the ratio cells in performance.md.Other change
Verification
just lint-ci: passjust test-ci: 548 passed, 100% coverageuvx --with-requirements docs/requirements.txt mkdocs build --strict: pass (anchor validation on)Not changed
markdown_descriptionin mkdocs.yml ("Powerful ...") mirrors the pyprojectdescription, which this pass does not touch.just bench-report. Only the hand-written prose around them changed.Fact fix
docs/recipes/sqlalchemy.mdsaid "Three providers, three scopes"; the engine is APP and both the session and repositories are REQUEST, so it now says two scopes.