cloudflare
workerd
BlogDocsChangelog

Reworking Headers impl

#5396
Comparing
jasnell/http-headers-take-2
(
fb81688
) with
main
(
15ccfc8
)
CodSpeed Performance Gauge
+53%
Improvements
2
Untouched
31
Skipped
9

Benchmarks

Skipped (9)

Improved

jsonResponse[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
+53%
53.2 µs34.7 µs
constructor[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
+47%
90.8 ms61.9 ms

Passed

simpleStringBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
+5%
20.7 µs19.7 µs
Encode_TwoByte_256[0/2/256]
unknown_file
CodSpeed Performance Gauge
0%
7 ms7 ms
Encode_ASCII_1024[0/0/1024]
unknown_file
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
arrayBufferBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
16.3 µs16.3 µs
request[RegExpBenchmark]
src/workerd/tests/bench-regex.c++
CodSpeed Performance Gauge
0%
7.3 ms7.3 ms
Encode_ASCII_8192[0/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
55.6 ms55.6 ms
Encode_ASCII_256[0/0/256]
unknown_file
CodSpeed Performance Gauge
0%
4.4 ms4.4 ms
EncodeInto_ASCII_1024[1/0/1024]
unknown_file
CodSpeed Performance Gauge
0%
7.9 ms7.9 ms
Encode_TwoByte_1024[0/2/1024]
unknown_file
CodSpeed Performance Gauge
0%
19.5 ms19.5 ms
Encode_OneByte_1024[0/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
12 ms12 ms
EncodeInto_ASCII_8192[1/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
45.9 ms45.9 ms
Test_JSON_ENC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
195.8 ms195.8 ms
Encode_TwoByte_8192[0/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
146.1 ms146.1 ms
Encode_OneByte_8192[0/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
84.7 ms84.7 ms
Test_JSON_DEC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
3.2 s3.2 s
EncodeInto_TwoByte_8192[1/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
96.7 ms96.7 ms
Util_RecursivelyFreeze
src/workerd/tests/bench-util.c++
CodSpeed Performance Gauge
0%
10.8 ms10.8 ms
Serialize
Mimetype
CodSpeed Performance Gauge
0%
97.9 ms97.9 ms
Parse[KjHeaders]
src/workerd/tests/bench-kj-headers.c++
CodSpeed Performance Gauge
0%
44.3 µs44.3 µs
EncodeInto_OneByte_1024[1/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
10.4 ms10.4 ms
ParseAndSerialize
Mimetype
CodSpeed Performance Gauge
0%
79.4 ms79.4 ms
EncodeInto_TwoByte_1024[1/2/1024]
unknown_file
CodSpeed Performance Gauge
0%
14.1 ms14.2 ms
EncodeInto_OneByte_256[1/1/256]
unknown_file
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
EncodeInto_ASCII_256[1/0/256]
unknown_file
CodSpeed Performance Gauge
0%
3.8 ms3.8 ms
EncodeInto_OneByte_8192[1/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
66.6 ms66.6 ms
nullBodyWithStatus[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
10.1 µs10.2 µs
EncodeInto_TwoByte_256[1/2/256]
unknown_file
CodSpeed Performance Gauge
0%
5.4 ms5.4 ms
Encode_ASCII_32[0/0/32]
unknown_file
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
Encode_OneByte_256[0/1/256]
unknown_file
CodSpeed Performance Gauge
0%
5.1 ms5.2 ms
request[GlobalScopeBenchmark]
src/workerd/tests/bench-global-scope.c++
CodSpeed Performance Gauge
-2%
58.8 ms59.7 ms
bodyWithHeaders[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
-7%
24.2 µs25.9 µs

Commits

Click on a commit to change the comparison range
Base
main
15ccfc8
+53.4%
Refine the jsonResponse bench a bit more Profile is dominated by the cost of constructing the object to serialize rather than the cost of the Response::json_ call itself.
fb81688
2 days ago
by jasnell
© 2025 CodSpeed Technology
Home Terms Privacy Docs