Avatar for the moreal user
moreal
bencodex-rs
BlogDocsChangelog

Migrate to Copy-on-Write (Cow) for zero-copy decoding support

#40Merged
Comparing
copy-on-write
(
2e02f33
) with
main
(
5bcb841
)
CodSpeed Performance Gauge
×3.5
Improvement
4
Untouched
6
New
3
Skipped
4

Benchmarks

17 total
ncavatar_1 (20.6KB)
benches/encode.rs::benches::encode_files::encode_files
CodSpeed Performance Gauge
×3.5
1,155.6 µs327.5 µs
ncinventory_1 (45.6KB)
benches/encode.rs::benches::encode_files::encode_files
CodSpeed Performance Gauge
×2.8
2,656.7 µs933.7 µs
large_random_0 (36.5MB)
benches/encode.rs::benches::encode_files::encode_files
CodSpeed Performance Gauge
+55%
535 ms344.5 ms
bigint (9223372036854775807)
benches/encode.rs::benches::encode_primitives::encode_primitives
CodSpeed Performance Gauge
+14%
3.7 µs3.3 µs
large_random_0 (36.5MB)
benches/decode.rs::benches::decode_borrowed::decode_borrowed
CodSpeed Performance Gauge
N/A
N/A412.8 ms
ncinventory_1 (45.6KB)
benches/decode.rs::benches::decode_borrowed::decode_borrowed
CodSpeed Performance Gauge
N/A
N/A1.6 ms
ncavatar_1 (20.6KB)
benches/decode.rs::benches::decode_borrowed::decode_borrowed
CodSpeed Performance Gauge
N/A
N/A696.4 µs
null
benches/encode.rs::benches::encode_primitives::encode_primitives
CodSpeed Performance Gauge
+9%
368.6 ns338.1 ns
ncinventory_1 (45.6KB)
benches/decode.rs::benches::decode_scalar::decode_scalar
CodSpeed Performance Gauge
-2%
2.4 ms2.5 ms
large_random_0 (36.5MB)
benches/decode.rs::benches::decode_scalar::decode_scalar
CodSpeed Performance Gauge
-2%
480.7 ms488.2 ms
ncavatar_1 (20.6KB)
benches/decode.rs::benches::decode_scalar::decode_scalar
CodSpeed Performance Gauge
-1%
1.1 ms1.1 ms
boolean (false)
benches/encode.rs::benches::encode_primitives::encode_primitives
CodSpeed Performance Gauge
0%
400.3 ns398.3 ns
boolean (true)
benches/encode.rs::benches::encode_primitives::encode_primitives
CodSpeed Performance Gauge
0%
400.3 ns398.3 ns
encode null
benches/encode.rs::benches::encode
Skipped
397.8 ns*
encode boolean (false)
benches/encode.rs::benches::encode
Skipped
429.4 ns*
encode boolean (true)
benches/encode.rs::benches::encode
Skipped
429.4 ns*
encode bigint (9223372036854775807)
benches/encode.rs::benches::encode
Skipped
3.8 µs*

Commits

Click on a commit to change the comparison range
Base
main
5bcb841
-14%
Migrate to Copy-on-Write (Cow) for zero-copy decoding support
0219b83
7 months ago
by moreal
×3.7
Avoid into_owned() tree rebuild in Decode for Vec<u8>
2e02f33
7 months ago
by moreal
© 2026 CodSpeed Technology
Home Terms Privacy Docs