Repository navigation
docs: declare Litestar handler dependencies with NamedDependency - #660
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: f2fd1af | Previous: 17dedc5 | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
7390415.473599205 iter/sec (stddev: 5.003717960824411e-9) |
3886153.2744689747 iter/sec (stddev: 1.3055825666426165e-8) |
0.53 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
7172731.569759982 iter/sec (stddev: 5.148190982511001e-9) |
3827049.0699966126 iter/sec (stddev: 1.3944757327748532e-8) |
0.53 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
48962.520774235694 iter/sec (stddev: 0.000024499027064572534) |
22629.900080512525 iter/sec (stddev: 0.000044984037281007235) |
0.46 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
38348.57130422651 iter/sec (stddev: 0.0000573271619671776) |
17266.745770726902 iter/sec (stddev: 0.00012443675142586783) |
0.45 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
937.6281561754723 iter/sec (stddev: 0.000022618784375052105) |
398.07608301110037 iter/sec (stddev: 0.0003050237228924555) |
0.42 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
922.3577857595703 iter/sec (stddev: 0.000012092720807104719) |
403.7282933725146 iter/sec (stddev: 0.00012113447657702835) |
0.44 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
888.8161945486443 iter/sec (stddev: 0.000020832953569410052) |
393.7208876790603 iter/sec (stddev: 0.00010780708494010343) |
0.44 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
24633.125517938326 iter/sec (stddev: 0.00001936272881134076) |
13408.498395731174 iter/sec (stddev: 0.00000846510734638537) |
0.54 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
13721.970017675892 iter/sec (stddev: 0.000012111482988890315) |
6190.39551880844 iter/sec (stddev: 0.000014784306984034502) |
0.45 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
6589.262598913805 iter/sec (stddev: 0.000019647639571261783) |
3458.389066235515 iter/sec (stddev: 0.000039315377351276954) |
0.52 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
19413.589868043426 iter/sec (stddev: 0.000004619789583496801) |
9357.183338107528 iter/sec (stddev: 0.000011575881239337238) |
0.48 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
8949.423452056571 iter/sec (stddev: 0.000006849744971588478) |
3976.678503805931 iter/sec (stddev: 0.000018606620377069148) |
0.44 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
3877.3632649975025 iter/sec (stddev: 0.000023087797447435537) |
1907.8609978244813 iter/sec (stddev: 0.000044657531203945376) |
0.49 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] |
63646.363835934564 iter/sec (stddev: 0.0000014935517425140089) |
35130.389367860094 iter/sec (stddev: 0.000006806795729231988) |
0.55 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] |
30032.299737642694 iter/sec (stddev: 0.000008285719968400142) |
15192.811976672949 iter/sec (stddev: 0.000012864101144587286) |
0.51 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] |
11605.437185925191 iter/sec (stddev: 0.000018094898058949054) |
5881.592658834347 iter/sec (stddev: 0.0000328270810508972) |
0.51 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
3197128.9781492506 iter/sec (stddev: 1.5981703590801264e-8) |
1598478.3764598279 iter/sec (stddev: 5.275901437784637e-8) |
0.50 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
3803155.154637282 iter/sec (stddev: 7.705453572740876e-9) |
1675356.882426165 iter/sec (stddev: 2.252303975849749e-8) |
0.44 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
6584.08776852669 iter/sec (stddev: 0.0000026937223446666233) |
3081.879391081237 iter/sec (stddev: 0.000012035326959274907) |
0.47 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
118534.47122134524 iter/sec (stddev: 5.474672765328126e-7) |
57283.58760394518 iter/sec (stddev: 0.0000024437959932579478) |
0.48 |
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync |
788132.7075225415 iter/sec (stddev: 3.677478632549849e-8) |
397627.823974914 iter/sec (stddev: 1.1963354603318047e-7) |
0.50 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
115329.97794568744 iter/sec (stddev: 5.800478712520009e-7) |
57764.18121937458 iter/sec (stddev: 0.0000016931002950142827) |
0.50 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
1105.3758902688223 iter/sec (stddev: 0.0005771438913577545) |
532.0691074280629 iter/sec (stddev: 0.0011751960843938618) |
0.48 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
4336165.572022389 iter/sec (stddev: 1.138871645960966e-8) |
2148811.3071257966 iter/sec (stddev: 2.7825517795040207e-8) |
0.50 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
7098528.858315248 iter/sec (stddev: 3.9716712923461865e-9) |
3459361.565143468 iter/sec (stddev: 2.5641463229562118e-8) |
0.49 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
1523879.5932391377 iter/sec (stddev: 1.5894996982097016e-8) |
657851.3056716546 iter/sec (stddev: 6.57573905916701e-8) |
0.43 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
889606.9400775696 iter/sec (stddev: 2.5203038961506535e-7) |
423954.8659347489 iter/sec (stddev: 3.9185927907335125e-7) |
0.48 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
3917373.581130251 iter/sec (stddev: 9.469864288526035e-9) |
1871669.1016318824 iter/sec (stddev: 4.367692737235401e-8) |
0.48 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
2929584.578372135 iter/sec (stddev: 7.805646767000175e-8) |
1285440.601634591 iter/sec (stddev: 1.4893766087247595e-7) |
0.44 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
1511117.860758339 iter/sec (stddev: 1.6475121999327564e-8) |
695724.0694333628 iter/sec (stddev: 6.235486258313605e-8) |
0.46 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
7067812.123427405 iter/sec (stddev: 4.922830283793648e-9) |
3595883.6625193427 iter/sec (stddev: 1.792135995889403e-8) |
0.51 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
79303.66098681239 iter/sec (stddev: 0.000011024070643280962) |
35861.517736822745 iter/sec (stddev: 0.00001815503020158629) |
0.45 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
45242.36425010253 iter/sec (stddev: 0.000015414750917812166) |
20880.946386308435 iter/sec (stddev: 0.000027223401048713885) |
0.46 |
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.
The modern-di side of modern-python/modern-di-litestar#72.
The Litestar page taught injected handler parameters as plain annotations (
report: Report,user_repo: UserRepository,di_container: Container). Litestar 2.23 deprecated that, and Litestar 3.0 removes it. The page now usesNamedDependency[...]fromlitestar.di, and one sentence after the first example says why. Theautowired_groupsparagraph, here and inrecipes/multi-group.md, no longer promises "plain parameters".The two Litestar skips from #654 are gone, so
just test-docs-integrationsnow runs both blocks with warnings as errors. Only the FastStreampublish(...)placeholder still skips. Nothing here waits on a release:NamedDependencyworks with modern-di-litestar 4.0.0 on every Litestar it allows (2.23 and up). modern-python/modern-di-litestar#73 makes the same change in that repo's README and tests.