cloudflare
workerd
BlogDocsChangelog

Use a shared Fetcher instance for ServiceWorkerGlobalScope requests

#5405Merged
Comparing
jasnell/shared-fetcher-on-request
(
73d4f5f
) with
main
(
3731fb5
)
CodSpeed Performance Gauge
0%
Untouched
33
Skipped
9

Benchmarks

Skipped (9)

Passed

simpleStringBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
+4%
20.9 µs20.1 µs
EncodeInto_OneByte_256[1/1/256]
unknown_file
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
arrayBufferBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
16.5 µs16.4 µs
request[GlobalScopeBenchmark]
src/workerd/tests/bench-global-scope.c++
CodSpeed Performance Gauge
0%
59.1 ms59 ms
Encode_ASCII_1024[0/0/1024]
unknown_file
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
Encode_ASCII_256[0/0/256]
unknown_file
CodSpeed Performance Gauge
0%
4.4 ms4.4 ms
constructor[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
0%
96.7 ms96.7 ms
Encode_TwoByte_8192[0/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
146.2 ms146.1 ms
Encode_ASCII_32[0/0/32]
unknown_file
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
EncodeInto_TwoByte_8192[1/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
96.7 ms96.7 ms
EncodeInto_ASCII_256[1/0/256]
unknown_file
CodSpeed Performance Gauge
0%
3.8 ms3.8 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
EncodeInto_TwoByte_1024[1/2/1024]
unknown_file
CodSpeed Performance Gauge
0%
14.2 ms14.2 ms
Test_JSON_DEC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
3.2 s3.2 s
Encode_TwoByte_256[0/2/256]
unknown_file
CodSpeed Performance Gauge
0%
7 ms7 ms
Parse[KjHeaders]
src/workerd/tests/bench-kj-headers.c++
CodSpeed Performance Gauge
0%
44.3 µs44.3 µs
Util_RecursivelyFreeze
src/workerd/tests/bench-util.c++
CodSpeed Performance Gauge
0%
10.7 ms10.7 ms
Serialize
Mimetype
CodSpeed Performance Gauge
0%
97.9 ms97.9 ms
ParseAndSerialize
Mimetype
CodSpeed Performance Gauge
0%
79.4 ms79.4 ms
Test_JSON_ENC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
195.8 ms195.8 ms
EncodeInto_TwoByte_256[1/2/256]
unknown_file
CodSpeed Performance Gauge
0%
5.4 ms5.4 ms
EncodeInto_OneByte_1024[1/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
10.4 ms10.5 ms
Encode_OneByte_8192[0/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
84.7 ms84.7 ms
EncodeInto_OneByte_8192[1/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
66.6 ms66.6 ms
EncodeInto_ASCII_8192[1/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
45.8 ms45.8 ms
Encode_OneByte_1024[0/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
12 ms12 ms
bodyWithHeaders[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
23.6 µs23.6 µs
Encode_ASCII_8192[0/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
55.6 ms55.7 ms
Encode_OneByte_256[0/1/256]
unknown_file
CodSpeed Performance Gauge
0%
5.1 ms5.2 ms
jsonResponse[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
-1%
53.9 µs54.2 µs
nullBodyWithStatus[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
-1%
10.1 µs10.1 µs
request[RegExpBenchmark]
src/workerd/tests/bench-regex.c++
CodSpeed Performance Gauge
-6%
7.3 ms7.8 ms

Commits

Click on a commit to change the comparison range
Base
main
3731fb5
-0.07%
Use a shared Fetcher instance for ServiceWorkerGlobalScope requests We were creating a new Fetcher instance for every request despite the fact that the Fetcher itself was stateless and not storing any request-specific data. This changes it so that all requests to a given ServiceWorkerGlobalScope instance share a single default Fetcher instance.
73d4f5f
18 hours ago
by jasnell
© 2025 CodSpeed Technology
Home Terms Privacy Docs