Avatar for the aio-libs user
aio-libs
aiohttp
BlogDocsChangelog

[PR #10744/23d3ee06 backport][3.11] Refactor WebSocket reader to avoid frequent realloc when frames are fragmented

#10747Merged
Comparing
patchback/backports/3.11/23d3ee06ecf66428529818cd85d6abfd5fe1b3a5/pr-10744
(
9cd03f9
) with
3.11
(
099cc0c
)
CodSpeed Performance Gauge
+19%
Improvement
1
Untouched
53

Benchmarks

54 total
test_one_thousand_round_trip_websocket_binary_messages[pyloop-large]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
+19%
131.1 ms110.5 ms
test_one_thousand_large_round_trip_websocket_text_messages[pyloop]
tests/test_benchmarks_client_ws.py
CodSpeed Performance Gauge
+7%
23.1 ms21.6 ms
test_read_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
+1%
216.1 µs213.2 µs
test_resolve_root_route_with_many_fixed_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
+1%
887 µs878.5 µs
test_simple_web_stream_response
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
+1%
255.1 µs253.4 µs
test_web_response_with_headers
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
+1%
696.3 µs692.4 µs
test_web_response_with_bytes_body
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
558.3 µs555.5 µs
test_resolve_dynamic_resource_url_with_many_dynamic_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
3.5 ms3.5 ms
test_send_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
560.2 µs558.1 µs
test_simple_web_response
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
457.3 µs456 µs
test_send_one_hundred_large_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
543.6 µs542.1 µs
test_ten_streamed_responses_iter_any[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
21.5 ms21.5 ms
test_resolve_multiple_level_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
8.5 ms8.5 ms
test_resolve_dynamic_resource_url_with_many_static_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
3.6 ms3.6 ms
test_resolve_gitapi_root[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
2 ms2 ms
test_resolve_prefix_resources_many_prefix_many_plain[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
test_serialize_headers
tests/test_benchmarks_http_writer.py
CodSpeed Performance Gauge
0%
854.6 µs853.8 µs
test_read_large_binary_websocket_messages[pyloop]
tests/test_benchmarks_http_websocket.py
CodSpeed Performance Gauge
0%
9 ms9 ms
test_resolve_dynamic_resource_url_with_many_dynamic_routes_with_common_prefix[pyloop]
tests/test_benchmarks_web_urldispatcher.py
CodSpeed Performance Gauge
0%
247.4 ms247.3 ms
test_web_response_with_text_body
tests/test_benchmarks_web_response.py
CodSpeed Performance Gauge
0%
672.4 µs672.1 µs
test_create_client_request_with_headers[pyloop]
tests/test_benchmarks_client_request.py
CodSpeed Performance Gauge
0%
68.5 µs68.5 µs
test_ten_web_middlewares[pyloop]
tests/test_benchmarks_web_middleware.py
CodSpeed Performance Gauge
0%
34.9 ms34.9 ms
test_get_request_with_251308_compressed_chunked_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
426 ms426 ms
test_one_hundred_get_requests_with_512kib_chunked_payload[pyloop]
tests/test_benchmarks_client.py
CodSpeed Performance Gauge
0%
166 ms166 ms
test_simple_web_file_sendfile_fallback_response[pyloop]
tests/test_benchmarks_web_fileresponse.py
CodSpeed Performance Gauge
0%
83.6 ms83.6 ms

Commits

Click on a commit to change the comparison range
Base
3.11
099cc0c
+18.67%
Refactor WebSocket reader to avoid frequent realloc when frames are fragmented (#10744)
9cd03f9
1 year ago
by bdraco
© 2026 CodSpeed Technology
Home Terms Privacy Docs