aio-libs
aiohttp
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Transform http-parser and http-writer with the new Multidict-CAPI
#11320
Comparing
Vizonex:Vizonex-playground-multidict-capi
(
b8e5a91
) with
master
(
230e1ee
)
CodSpeed Performance Gauge
+35%
Improvements
1
Untouched
58
Ignored
7
Benchmarks
Improved
test_serialize_headers
tests/test_benchmarks_http_writer.py::test_serialize_headers
CodSpeed Performance Gauge
+35%
852.7 µs
629.7 µs
Passed
test_send_client_request_one_hundred[pyloop]
tests/test_benchmarks_client_request.py::test_send_client_request_one_hundred[pyloop]
CodSpeed Performance Gauge
+5%
2.5 ms
2.4 ms
test_simple_web_file_response[pyloop]
tests/test_benchmarks_web_fileresponse.py::test_simple_web_file_response[pyloop]
CodSpeed Performance Gauge
+1%
78.6 ms
77.5 ms
test_simple_web_file_response_not_modified[pyloop]
tests/test_benchmarks_web_fileresponse.py::test_simple_web_file_response_not_modified[pyloop]
CodSpeed Performance Gauge
+1%
55.2 ms
54.5 ms
test_one_hundred_simple_get_requests[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_simple_get_requests[pyloop]
CodSpeed Performance Gauge
+1%
32.6 ms
32.2 ms
test_one_hundred_simple_get_requests_multiple_methods_route[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_simple_get_requests_multiple_methods_route[pyloop]
CodSpeed Performance Gauge
+1%
32.3 ms
31.9 ms
test_one_hundred_simple_get_requests_alternating_clients[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_simple_get_requests_alternating_clients[pyloop]
CodSpeed Performance Gauge
+1%
33.2 ms
32.8 ms
test_one_hundred_simple_post_requests[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_simple_post_requests[pyloop]
CodSpeed Performance Gauge
+1%
36.3 ms
36 ms
test_one_hundred_get_requests_with_1024_chunked_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_1024_chunked_payload[pyloop]
CodSpeed Performance Gauge
+1%
35 ms
34.7 ms
test_ten_web_middlewares[pyloop]
tests/test_benchmarks_web_middleware.py::test_ten_web_middlewares[pyloop]
CodSpeed Performance Gauge
+1%
35.2 ms
34.9 ms
test_one_hundred_get_requests_with_30000_chunked_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_30000_chunked_payload[pyloop]
CodSpeed Performance Gauge
+1%
40.2 ms
39.9 ms
test_one_hundred_get_requests_with_1024_content_length_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_1024_content_length_payload[pyloop]
CodSpeed Performance Gauge
+1%
34.7 ms
34.4 ms
test_one_hundred_get_requests_with_30000_content_length_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_30000_content_length_payload[pyloop]
CodSpeed Performance Gauge
+1%
40 ms
39.7 ms
test_resolve_dynamic_resource_url_with_many_dynamic_routes_with_common_prefix[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_dynamic_resource_url_with_many_dynamic_routes_with_common_prefix[pyloop]
CodSpeed Performance Gauge
+1%
245.5 ms
243.7 ms
test_one_hundred_json_post_requests[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_json_post_requests[pyloop]
CodSpeed Performance Gauge
+1%
38.1 ms
37.8 ms
test_get_request_with_251308_compressed_chunked_payload[isal.isal_zlib-pyloop]
tests/test_benchmarks_client.py::test_get_request_with_251308_compressed_chunked_payload[isal.isal_zlib-pyloop]
CodSpeed Performance Gauge
+1%
64.8 ms
64.3 ms
test_read_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py::test_read_one_hundred_websocket_text_messages[pyloop]
CodSpeed Performance Gauge
+1%
208.3 µs
207 µs
test_create_client_request_with_headers[pyloop]
tests/test_benchmarks_client_request.py::test_create_client_request_with_headers[pyloop]
CodSpeed Performance Gauge
+1%
77.1 µs
76.6 µs
test_resolve_gitapi_root[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi_root[pyloop]
CodSpeed Performance Gauge
+1%
2 ms
2 ms
test_simple_web_file_sendfile_fallback_response[pyloop]
tests/test_benchmarks_web_fileresponse.py::test_simple_web_file_sendfile_fallback_response[pyloop]
CodSpeed Performance Gauge
+1%
84.5 ms
84.1 ms
test_one_hundred_simple_get_requests_no_session[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_simple_get_requests_no_session[pyloop]
CodSpeed Performance Gauge
+1%
87.3 ms
86.8 ms
test_ten_streamed_responses_iter_chunks[pyloop]
tests/test_benchmarks_client.py::test_ten_streamed_responses_iter_chunks[pyloop]
CodSpeed Performance Gauge
0%
16.1 ms
16.1 ms
test_resolve_static_root_route[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_static_root_route[pyloop]
CodSpeed Performance Gauge
0%
976.7 µs
972.6 µs
test_resolve_root_route[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_root_route[pyloop]
CodSpeed Performance Gauge
0%
871.9 µs
869.3 µs
test_resolve_dynamic_resource_url_with_many_static_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_dynamic_resource_url_with_many_static_routes[pyloop]
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
test_ten_streamed_responses_iter_chunked_65536[pyloop]
tests/test_benchmarks_client.py::test_ten_streamed_responses_iter_chunked_65536[pyloop]
CodSpeed Performance Gauge
0%
22.9 ms
22.9 ms
test_resolve_single_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_single_fixed_url_with_many_routes[pyloop]
CodSpeed Performance Gauge
0%
875.1 µs
873.5 µs
test_one_thousand_round_trip_websocket_binary_messages[pyloop-small]
tests/test_benchmarks_client_ws.py::test_one_thousand_round_trip_websocket_binary_messages[pyloop-small]
CodSpeed Performance Gauge
0%
16.3 ms
16.3 ms
test_one_hundred_get_requests_with_512kib_content_length_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_512kib_content_length_payload[pyloop]
CodSpeed Performance Gauge
0%
165.2 ms
164.9 ms
test_get_request_with_251308_compressed_chunked_payload[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client.py::test_get_request_with_251308_compressed_chunked_payload[zlib_ng.zlib_ng-pyloop]
CodSpeed Performance Gauge
0%
209.3 ms
209 ms
test_one_thousand_large_round_trip_websocket_text_messages[pyloop]
tests/test_benchmarks_client_ws.py::test_one_thousand_large_round_trip_websocket_text_messages[pyloop]
CodSpeed Performance Gauge
0%
21.5 ms
21.5 ms
test_web_response_with_text_body
tests/test_benchmarks_web_response.py::test_web_response_with_text_body
CodSpeed Performance Gauge
0%
683 µs
682.4 µs
test_client_receive_large_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_client_ws.py::test_client_receive_large_websocket_compressed_messages[zlib-pyloop]
CodSpeed Performance Gauge
0%
50.2 ms
50.2 ms
test_client_send_large_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_client_ws.py::test_client_send_large_websocket_compressed_messages[zlib-pyloop]
CodSpeed Performance Gauge
0%
50.3 ms
50.2 ms
test_send_one_hundred_websocket_text_messages_with_mask[pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_websocket_text_messages_with_mask[pyloop]
CodSpeed Performance Gauge
0%
795.6 µs
795.4 µs
test_read_large_binary_websocket_messages[pyloop]
tests/test_benchmarks_http_websocket.py::test_read_large_binary_websocket_messages[pyloop]
CodSpeed Performance Gauge
0%
8.9 ms
8.9 ms
test_resolve_gitapi_subapps[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi_subapps[pyloop]
CodSpeed Performance Gauge
0%
293.7 ms
293.6 ms
test_one_thousand_round_trip_websocket_text_messages[pyloop]
tests/test_benchmarks_client_ws.py::test_one_thousand_round_trip_websocket_text_messages[pyloop]
CodSpeed Performance Gauge
0%
16.6 ms
16.6 ms
test_get_request_with_251308_compressed_chunked_payload[zlib-pyloop]
tests/test_benchmarks_client.py::test_get_request_with_251308_compressed_chunked_payload[zlib-pyloop]
CodSpeed Performance Gauge
0%
426.1 ms
426.2 ms
test_resolve_root_route_with_many_fixed_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_root_route_with_many_fixed_routes[pyloop]
CodSpeed Performance Gauge
0%
873.5 µs
873.7 µs
test_resolve_dynamic_resource_url_with_many_dynamic_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_dynamic_resource_url_with_many_dynamic_routes[pyloop]
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
test_one_thousand_round_trip_websocket_binary_messages[pyloop-large]
tests/test_benchmarks_client_ws.py::test_one_thousand_round_trip_websocket_binary_messages[pyloop-large]
CodSpeed Performance Gauge
0%
110.2 ms
110.3 ms
test_send_one_hundred_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_websocket_text_messages[pyloop]
CodSpeed Performance Gauge
0%
558.5 µs
559.2 µs
test_ten_streamed_responses_iter_chunked_4096[pyloop]
tests/test_benchmarks_client.py::test_ten_streamed_responses_iter_chunked_4096[pyloop]
CodSpeed Performance Gauge
0%
28 ms
28 ms
test_send_one_hundred_websocket_compressed_messages[zlib-pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_websocket_compressed_messages[zlib-pyloop]
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
test_resolve_multiple_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_multiple_fixed_url_with_many_routes[pyloop]
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
test_resolve_gitapi[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi[pyloop]
CodSpeed Performance Gauge
0%
291.6 ms
292.2 ms
test_client_request_update_cookies[pyloop]
tests/test_benchmarks_client_request.py::test_client_request_update_cookies[pyloop]
CodSpeed Performance Gauge
0%
152.3 µs
152.6 µs
test_send_one_hundred_large_websocket_text_messages[pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_large_websocket_text_messages[pyloop]
CodSpeed Performance Gauge
0%
545.5 µs
546.7 µs
test_create_client_request_with_cookies[pyloop]
tests/test_benchmarks_client_request.py::test_create_client_request_with_cookies[pyloop]
CodSpeed Performance Gauge
0%
122.1 µs
122.4 µs
test_send_one_hundred_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
CodSpeed Performance Gauge
0%
2.1 ms
2.1 ms
test_resolve_multiple_level_fixed_url_with_many_routes[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_multiple_level_fixed_url_with_many_routes[pyloop]
CodSpeed Performance Gauge
0%
8.5 ms
8.5 ms
test_web_response_with_bytes_body
tests/test_benchmarks_web_response.py::test_web_response_with_bytes_body
CodSpeed Performance Gauge
0%
536.5 µs
538.2 µs
test_resolve_prefix_resources_many_prefix_many_plain[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_prefix_resources_many_prefix_many_plain[pyloop]
CodSpeed Performance Gauge
0%
4.6 ms
4.6 ms
test_simple_web_response
tests/test_benchmarks_web_response.py::test_simple_web_response
CodSpeed Performance Gauge
0%
444.7 µs
446.5 µs
test_send_one_hundred_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_http_websocket.py::test_send_one_hundred_websocket_compressed_messages[isal.isal_zlib-pyloop]
CodSpeed Performance Gauge
-1%
4.7 ms
4.7 ms
test_simple_web_stream_response
tests/test_benchmarks_web_response.py::test_simple_web_stream_response
CodSpeed Performance Gauge
-1%
242 µs
243.5 µs
test_load_cookies_into_temp_cookiejar
tests/test_benchmarks_cookiejar.py::test_load_cookies_into_temp_cookiejar
CodSpeed Performance Gauge
-1%
188.8 µs
191.4 µs
test_web_response_with_headers
tests/test_benchmarks_web_response.py::test_web_response_with_headers
CodSpeed Performance Gauge
-3%
692.6 µs
712.7 µs
Ignored
test_one_hundred_get_requests_iter_chunks_on_512kib_chunked_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_iter_chunks_on_512kib_chunked_payload[pyloop]
Ignored
CodSpeed Performance Gauge
0%
130.5 ms
130.3 ms
test_one_hundred_get_requests_with_512kib_chunked_payload[pyloop]
tests/test_benchmarks_client.py::test_one_hundred_get_requests_with_512kib_chunked_payload[pyloop]
Ignored
CodSpeed Performance Gauge
0%
165.9 ms
165.6 ms
test_client_send_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client_ws.py::test_client_send_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
Ignored
CodSpeed Performance Gauge
-3%
28.5 ms
29.4 ms
test_client_send_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_client_ws.py::test_client_send_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
Ignored
CodSpeed Performance Gauge
+15%
18.6 ms
16.2 ms
test_ten_streamed_responses_iter_any[pyloop]
tests/test_benchmarks_client.py::test_ten_streamed_responses_iter_any[pyloop]
Ignored
CodSpeed Performance Gauge
0%
21.6 ms
21.6 ms
test_client_receive_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
tests/test_benchmarks_client_ws.py::test_client_receive_large_websocket_compressed_messages[isal.isal_zlib-pyloop]
Ignored
CodSpeed Performance Gauge
+6%
19.8 ms
18.6 ms
test_client_receive_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
tests/test_benchmarks_client_ws.py::test_client_receive_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]
Ignored
CodSpeed Performance Gauge
0%
28.5 ms
28.5 ms
Commits
Click on a commit to change the comparison range
Base
master
230e1ee
-76.63%
spelling mistake fix
2c9a78f
3 months ago
by Vizonex
+1.05%
Merge branch 'master' into Vizonex-playground-multidict-capi
b1f3c42
3 months ago
by Vizonex
×2.1
revert for now lets focus on the http_writer first
4103a7a
3 months ago
by Vizonex
-0.02%
fix http-parser with updated Multidict-CAPI Fixes
083b465
3 months ago
by Vizonex
+0.01%
revert req/resp objects we can deal with fixing these later...
3506136
3 months ago
by Vizonex
+2.44%
mypy changes
a7190b0
3 months ago
by Vizonex
-0.03%
Remove 1 comment and optimize extend() function and add CIMultidictProxy to more arguments instead of object type
610eec7
2 months ago
by Vizonex
-0.85%
Merge branch 'master' into Vizonex-playground-multidict-capi
75b177a
2 months ago
by Vizonex
-0.95%
Merge branch 'aio-libs:master' into Vizonex-playground-multidict-capi
89151a1
2 months ago
by Vizonex
-0.1%
Merge branch 'aio-libs:master' into Vizonex-playground-multidict-capi
ab3c096
2 months ago
by Vizonex
-0.08%
[pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci
b8e5a91
16 days ago
by pre-commit-ci[bot]
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs