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

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 µs629.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 ms2.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 ms77.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 ms54.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 ms32.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 ms31.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 ms32.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 ms36 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 ms34.7 ms
test_ten_web_middlewares[pyloop]
tests/test_benchmarks_web_middleware.py::test_ten_web_middlewares[pyloop]
CodSpeed Performance Gauge
+1%
35.2 ms34.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 ms39.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 ms34.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 ms39.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 ms243.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 ms37.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 ms64.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 µs207 µ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 µs76.6 µs
test_resolve_gitapi_root[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi_root[pyloop]
CodSpeed Performance Gauge
+1%
2 ms2 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 ms84.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 ms86.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 ms16.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 µs972.6 µs
test_resolve_root_route[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_root_route[pyloop]
CodSpeed Performance Gauge
0%
871.9 µs869.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 ms3.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 ms22.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 µs873.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 ms16.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 ms164.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 ms209 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 ms21.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 µs682.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 ms50.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 ms50.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 µs795.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 ms8.9 ms
test_resolve_gitapi_subapps[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi_subapps[pyloop]
CodSpeed Performance Gauge
0%
293.7 ms293.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 ms16.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 ms426.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 µs873.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 ms3.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 ms110.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 µs559.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 ms28 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 ms3.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 ms2.2 ms
test_resolve_gitapi[pyloop]
tests/test_benchmarks_web_urldispatcher.py::test_resolve_gitapi[pyloop]
CodSpeed Performance Gauge
0%
291.6 ms292.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 µs152.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 µs546.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 µs122.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 ms2.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 ms8.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 µs538.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 ms4.6 ms
test_simple_web_response
tests/test_benchmarks_web_response.py::test_simple_web_response
CodSpeed Performance Gauge
0%
444.7 µs446.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 ms4.7 ms
test_simple_web_stream_response
tests/test_benchmarks_web_response.py::test_simple_web_stream_response
CodSpeed Performance Gauge
-1%
242 µs243.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 µs191.4 µs
test_web_response_with_headers
tests/test_benchmarks_web_response.py::test_web_response_with_headers
CodSpeed Performance Gauge
-3%
692.6 µs712.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 ms130.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 ms165.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 ms29.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 ms16.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 ms21.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 ms18.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 ms28.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