Repository navigation
docs: say the fastmcp, litestar and faststream child close is shielded and bounded - #731
Merged
Merged
Conversation
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 5ca4d87 | Previous: aec56c1 | Ratio |
|---|---|---|---|
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type |
4000609.212774368 iter/sec (stddev: 1.5936308175321384e-8) |
3345521.0665840385 iter/sec (stddev: 1.3108313055308741e-8) |
0.84 |
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry |
3996884.9877163316 iter/sec (stddev: 1.0545304491739299e-8) |
3305069.262350677 iter/sec (stddev: 1.1938748661833066e-8) |
0.83 |
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve |
18276.05951848232 iter/sec (stddev: 0.000051305364527207354) |
15792.297675499685 iter/sec (stddev: 0.000055135012026666745) |
0.86 |
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached |
14522.599151810531 iter/sec (stddev: 0.0001560800965383279) |
12464.53414187393 iter/sec (stddev: 0.00013189261021614093) |
0.86 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] |
503.3669349758536 iter/sec (stddev: 0.000012046224006151703) |
480.9288246610481 iter/sec (stddev: 0.000030065084584019833) |
0.96 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] |
510.1927473065935 iter/sec (stddev: 0.000022930186565442727) |
466.19954272828903 iter/sec (stddev: 0.00004425345186723625) |
0.91 |
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] |
485.4667576214342 iter/sec (stddev: 0.00003635894637441141) |
433.27457684441595 iter/sec (stddev: 0.00018440797549587438) |
0.89 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] |
16016.353765089685 iter/sec (stddev: 0.000007837021463703849) |
12777.877575345634 iter/sec (stddev: 0.000007959026763802108) |
0.80 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] |
7525.341587832661 iter/sec (stddev: 0.000014897722886503436) |
6203.2901940917745 iter/sec (stddev: 0.000013656541987689523) |
0.82 |
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] |
3940.3899127477143 iter/sec (stddev: 0.000033308256061790166) |
3394.870644677747 iter/sec (stddev: 0.000038342645516870723) |
0.86 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] |
11722.509445467314 iter/sec (stddev: 0.000009733477641342005) |
9276.41920325039 iter/sec (stddev: 0.000024242250596616354) |
0.79 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] |
5232.754215693073 iter/sec (stddev: 0.000018767192997746516) |
4063.785584919081 iter/sec (stddev: 0.00007711626119610306) |
0.78 |
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] |
2322.137656202984 iter/sec (stddev: 0.00005550239002112714) |
2000.3226186982326 iter/sec (stddev: 0.000041546731812819814) |
0.86 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] |
42484.97448083071 iter/sec (stddev: 0.0000029884027275884083) |
39897.94106624441 iter/sec (stddev: 0.000005429661873777475) |
0.94 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] |
16452.90684481961 iter/sec (stddev: 0.00001517960321153043) |
12472.2038748527 iter/sec (stddev: 0.00001252551540264348) |
0.76 |
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] |
6656.970050164922 iter/sec (stddev: 0.00002705496531747922) |
5721.566271140017 iter/sec (stddev: 0.000033705967112404046) |
0.86 |
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container |
1699987.19483678 iter/sec (stddev: 2.7670489866089464e-8) |
1581034.3545710812 iter/sec (stddev: 3.8189929778769226e-8) |
0.93 |
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope |
1828515.9252819852 iter/sec (stddev: 1.611492913134885e-8) |
1701976.8716696766 iter/sec (stddev: 1.7028797579324602e-8) |
0.93 |
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch |
3498.178943268111 iter/sec (stddev: 0.000008746775933122058) |
3252.1554688769857 iter/sec (stddev: 0.000012672593387126658) |
0.93 |
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control |
58323.26403883299 iter/sec (stddev: 0.0000015083267223595722) |
58116.82132724247 iter/sec (stddev: 0.0000019104000082225113) |
1.00 |
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync |
451578.32835042785 iter/sec (stddev: 2.943947558422401e-7) |
421555.45404970716 iter/sec (stddev: 8.945732145335626e-8) |
0.93 |
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale |
72205.18296844568 iter/sec (stddev: 0.0000014991191200333715) |
64944.12020972738 iter/sec (stddev: 0.00000185685317692303) |
0.90 |
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers |
656.6419875282052 iter/sec (stddev: 0.0010396760410082422) |
575.5071278747193 iter/sec (stddev: 0.001138575169421251) |
0.88 |
benchmarks/test_guard_resolve.py::test_g1_transient_resolve |
2392269.810711179 iter/sec (stddev: 3.93946085298649e-8) |
2104995.2695494397 iter/sec (stddev: 2.811821230179277e-8) |
0.88 |
benchmarks/test_guard_resolve.py::test_g2_cached_resolve |
3817287.517933889 iter/sec (stddev: 9.527261302684491e-9) |
3657379.7383176666 iter/sec (stddev: 1.1566915568580984e-8) |
0.96 |
benchmarks/test_guard_resolve.py::test_g3_deep_chain |
700227.5582003298 iter/sec (stddev: 1.5907203631883433e-7) |
801186.7819569294 iter/sec (stddev: 4.8962409603676404e-8) |
1.14 |
benchmarks/test_guard_resolve.py::test_g4_wide_resolve |
481138.6434660771 iter/sec (stddev: 4.5654971520227763e-7) |
479441.58096699585 iter/sec (stddev: 4.135332795129074e-7) |
1.00 |
benchmarks/test_guard_resolve.py::test_g5_cross_scope |
2065643.9973076296 iter/sec (stddev: 5.606531742271319e-8) |
1928903.1379116236 iter/sec (stddev: 2.8366253893375806e-8) |
0.93 |
benchmarks/test_guard_resolve.py::test_g9_context_resolve |
1625817.3288529513 iter/sec (stddev: 1.5770105883583503e-7) |
1422259.8457332284 iter/sec (stddev: 1.3852628693902344e-7) |
0.87 |
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve |
919030.8543896683 iter/sec (stddev: 5.587482634006434e-8) |
822559.280509675 iter/sec (stddev: 7.672187889510609e-8) |
0.90 |
benchmarks/test_guard_resolve.py::test_g18_alias_hop |
3891765.3358892906 iter/sec (stddev: 7.534026602955482e-9) |
3614584.1240236084 iter/sec (stddev: 1.154424204095044e-8) |
0.93 |
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain |
42701.684324655354 iter/sec (stddev: 0.000019021710087563605) |
35935.620042983646 iter/sec (stddev: 0.000018104156463207697) |
0.84 |
benchmarks/test_guard_validate.py::test_g11_validate_wide |
24477.064847486614 iter/sec (stddev: 0.000025105797496126304) |
19716.980490335623 iter/sec (stddev: 0.00020055110344201086) |
0.81 |
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.
Documents modern-di-fastmcp 4.0.4 (modern-python/modern-di-fastmcp#9), modern-di-litestar 4.2.2 (modern-python/modern-di-litestar#87) and modern-di-faststream 4.2.3 (modern-python/modern-di-faststream#89), the same way #729 did for starlette and fastapi. Each page now says the child close is shielded from cancellation, names the case that cancels it in that framework, and says a close running longer than 10 seconds is abandoned with a warning on the integration's logger.