cloudflare
workerd
BlogDocsChangelog

Refactor: Intorduce new JsValue.ExternalPusher interface to replace StreamSink.

#5738
Comparing
kenton/rpc-external-pusher
(
e7fe4d0
) with
main
(
91275d4
)
CodSpeed Performance Gauge
0%
Untouched
57
Skipped
34

Benchmarks

Skipped (34)

Encode_ASCII_8192[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
584.5 µs*
Encode_ASCII_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
530.7 µs*
Encode_TwoByte_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
531.7 µs*
Encode_ASCII_32[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
527.6 µs*
Encode_ASCII_1024[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
535 µs*
Encode_OneByte_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
529.3 µs*
EncodeInto_OneByte_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
541.3 µs*
EncodeInto_ASCII_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
538.3 µs*
EncodeInto_TwoByte_256[TextEncoderBenchmark]
src/workerd/tests/bench-text-encoder.c++
Skipped
541 µs*
Encode_ASCII_1024[0/0/1024]
unknown_file
Skipped
3.7 ms*
EncodeInto_ASCII_1024[1/0/1024]
unknown_file
Skipped
2.6 ms*
Encode_TwoByte_256[0/2/256]
unknown_file
Skipped
7.1 ms*
ParseAndSerialize
Mimetype
Skipped
74.9 ms*
Encode_ASCII_256[0/0/256]
unknown_file
Skipped
3.2 ms*
Encode_ASCII_8192[0/0/8192]
unknown_file
Skipped
13.1 ms*
EncodeInto_ASCII_8192[1/0/8192]
unknown_file
Skipped
3.3 ms*
Encode_OneByte_256[0/1/256]
unknown_file
Skipped
5.3 ms*
Encode_ASCII_32[0/0/32]
unknown_file
Skipped
3 ms*
Encode_OneByte_1024[0/1/1024]
unknown_file
Skipped
12.1 ms*
Encode_OneByte_8192[0/1/8192]
unknown_file
Skipped
85.2 ms*
EncodeInto_OneByte_256[1/1/256]
unknown_file
Skipped
4.5 ms*
EncodeInto_OneByte_1024[1/1/1024]
unknown_file
Skipped
10.5 ms*
EncodeInto_OneByte_8192[1/1/8192]
unknown_file
Skipped
66.9 ms*
EncodeInto_ASCII_256[1/0/256]
unknown_file
Skipped
2.6 ms*
EncodeInto_TwoByte_8192[1/2/8192]
unknown_file
Skipped
96.7 ms*
EncodeInto_TwoByte_256[1/2/256]
unknown_file
Skipped
5.4 ms*
Serialize
Mimetype
Skipped
74.6 ms*
EncodeInto_TwoByte_1024[1/2/1024]
unknown_file
Skipped
14.2 ms*
Encode_TwoByte_1024[0/2/1024]
unknown_file
Skipped
19.6 ms*
Encode_TwoByte_8192[0/2/8192]
unknown_file
Skipped
146.2 ms*
bm_ReadyNow
external/capnp-cpp/src/kj/async-bench.c++
Skipped
2.1 µs*
bm_Immediate
external/capnp-cpp/src/kj/async-bench.c++
Skipped
3.6 µs*
bm_coroCoAwaitImmediate
external/capnp-cpp/src/kj/async-bench.c++
Skipped
6.2 µs*
bm_coroCoReturn
external/capnp-cpp/src/kj/async-bench.c++
Skipped
4.6 µs*

Passed

nullBodyWithStatus[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
+2%
10.4 µs10.1 µs
Encode_ASCII_32[TextEncoder][0/0/32]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
3 ms2.9 ms
Encode_ASCII_256[TextEncoder][0/0/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
simpleStringBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
19.8 µs19.7 µs
Encode_ASCII_8192[TextEncoder][0/0/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
13.2 ms13.2 ms
request[GlobalScopeBenchmark]
src/workerd/tests/bench-global-scope.c++
CodSpeed Performance Gauge
0%
52.7 ms52.7 ms
Encode_OneByte_256[TextEncoder][0/1/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
5.2 ms5.2 ms
Encode_OneByte_8192[TextEncoder][0/1/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
84.7 ms84.7 ms
Serialize
src/workerd/tests/bench-mimetype.c++::Mimetype
CodSpeed Performance Gauge
0%
74.6 ms74.6 ms
Encode_OneByte_1024[TextEncoder][0/1/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
12 ms12 ms
constructor[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
0%
67.6 ms67.6 ms
bm_coroCoAwaitImmediate
external/+http+capnp-cpp/src/kj/async-bench.c++
CodSpeed Performance Gauge
0%
6.2 µs6.2 µs
bm_Immediate
external/+http+capnp-cpp/src/kj/async-bench.c++
CodSpeed Performance Gauge
0%
3.6 µs3.6 µs
JsString_Utf8Length_Latin1_Flat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
4.6 µs4.6 µs
bm_ReadyNow
external/+http+capnp-cpp/src/kj/async-bench.c++
CodSpeed Performance Gauge
0%
2.1 µs2.1 µs
JsString_Utf8Length_Latin1_Flat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
31 µs31 µs
bm_coroCoReturn
external/+http+capnp-cpp/src/kj/async-bench.c++
CodSpeed Performance Gauge
0%
4.6 µs4.6 µs
JsString_Utf8Length_Latin1_Flat_32
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
891.1 ns891.1 ns
JsString_Utf8Length_Latin1_NonFlat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
12.2 µs12.2 µs
JsString_Utf8Length_Latin1_NonFlat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
7.9 µs7.9 µs
JsString_Utf8Length_Latin1_NonFlat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
42 µs42 µs
JsString_Utf8Length_Utf16_Invalid_NonFlat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
16.1 µs16.1 µs
JsString_Utf8Length_Utf16_Flat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
62.8 µs62.8 µs
JsString_Utf8Length_Utf16_Invalid_Flat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
2.7 µs2.7 µs
JsString_Utf8Length_Utf16_NonFlat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
16.2 µs16.2 µs
JsString_Utf8Length_Utf16_Flat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
2.7 µs2.7 µs
JsString_Utf8Length_Utf16_Flat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
8.5 µs8.5 µs
JsString_Utf8Length_Utf16_Invalid_NonFlat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
73.8 µs73.8 µs
JsString_Utf8Length_Utf16_Invalid_Flat_1024
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
8.5 µs8.5 µs
JsString_Utf8Length_Latin1_Flat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
1.7 µs1.7 µs
JsString_Utf8Length_Utf16_Invalid_NonFlat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
8.9 µs8.9 µs
Parse[KjHeaders]
src/workerd/tests/bench-kj-headers.c++
CodSpeed Performance Gauge
0%
44.3 µs44.3 µs
JsString_Utf8Length_Utf16_NonFlat_256
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
8.9 µs8.9 µs
JsString_Utf8Length_Utf16_NonFlat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
73.8 µs73.8 µs
JsString_Utf8Length_Utf16_Invalid_Flat_8192
src/workerd/tests/bench-jsstring.c++
CodSpeed Performance Gauge
0%
62.8 µs62.8 µs
Util_RecursivelyFreeze
src/workerd/tests/bench-util.c++
CodSpeed Performance Gauge
0%
10.8 ms10.8 ms
Encode_TwoByte_8192[TextEncoder][0/2/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
146.1 ms146.1 ms
EncodeInto_OneByte_1024[TextEncoder][1/1/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
10.5 ms10.5 ms
EncodeInto_ASCII_256[TextEncoder][1/0/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
2.6 ms2.6 ms
EncodeInto_TwoByte_1024[TextEncoder][1/2/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
14.2 ms14.2 ms
Encode_TwoByte_1024[TextEncoder][0/2/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
19.5 ms19.5 ms
Test_JSON_ENC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
205.9 ms206 ms
EncodeInto_TwoByte_8192[TextEncoder][1/2/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
96.7 ms96.7 ms
EncodeInto_OneByte_256[TextEncoder][1/1/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
EncodeInto_ASCII_1024[TextEncoder][1/0/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
2.7 ms2.7 ms
ParseAndSerialize
src/workerd/tests/bench-mimetype.c++::Mimetype
CodSpeed Performance Gauge
0%
74.9 ms74.9 ms
EncodeInto_OneByte_8192[TextEncoder][1/1/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
66.7 ms66.7 ms
Encode_TwoByte_256[TextEncoder][0/2/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
7 ms7 ms
request[RegExpBenchmark]
src/workerd/tests/bench-regex.c++
CodSpeed Performance Gauge
0%
7.3 ms7.3 ms
Test_JSON_DEC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
3.2 s3.2 s
EncodeInto_ASCII_8192[TextEncoder][1/0/8192]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
set_append[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
0%
11.7 ms11.7 ms
Encode_ASCII_1024[TextEncoder][0/0/1024]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
3.7 ms3.7 ms
arrayBufferBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
17.3 µs17.4 µs
EncodeInto_TwoByte_256[TextEncoder][1/2/256]
src/workerd/tests/bench-text-encoder.c++
CodSpeed Performance Gauge
0%
5.4 ms5.4 ms
jsonResponse[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
34.7 µs34.8 µs
bodyWithHeaders[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
-1%
24.1 µs24.3 µs

Commits

Click on a commit to change the comparison range
Base
main
91275d4
+0.02%
Run js-rpc-test and abortsignal-test again with ExternalPusher. Currently, it appears that we do not run wd-tests with all-autogates. We probably should but that'll have to be a separate change. For now, this arranges just to run js-rpc-test and abortsignal-test a second time with the ExternalPusher autogate on.
e7fe4d0
1 day ago
by kentonv
© 2025 CodSpeed Technology
Home Terms Privacy Docs