Avatar for the BobTheBuidler user
BobTheBuidler
faster-eth-abi
BlogDocsChangelog

perf: use librt BytesWriter for bytestring encoding to reduce allocations

#461
Comparing
encode-bytestring-librt
(
b97b795
) with
master
(
196e5e5
)
CodSpeed Performance Gauge
-8%
Regression
3
Untouched
5692
Skipped
9591

Benchmarks

15286 total
test_faster_encode[bytes[]-[b'abc', b'def',]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
-8%
2.1 ms2.3 ms
test_faster_encode[bytes-b'\\x00\\x00\\x00\\x0]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
-8%
740.7 µs803.9 µs
test_faster_encode[bytes[10]-[b'\\x00\\x00\\x00\\]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
-7%
5.1 ms5.5 ms
test_faster_contextframesbytesio_seek_in_frame[1]
benchmarks/test_io_benchmarks.py
CodSpeed Performance Gauge
+4%
256.8 µs246.2 µs
test_faster_encode[bytes[]-[]1]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+4%
729.7 µs700 µs
test_faster_contextframesbytesio_seek_in_frame[10]
benchmarks/test_io_benchmarks.py
CodSpeed Performance Gauge
+3%
1.5 ms1.4 ms
test_faster_encode[uint8[2][2][]-[]]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+3%
723.9 µs703.9 µs
test_faster_encode[((uint8,uint8),uint8)-((1, 2), 3)]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
2.4 ms2.4 ms
test_faster_encode[uint192-32767]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
656.8 µs642.5 µs
test_faster_encode[bytes31-b'\\x01\\x01\\x01\\x]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
545.9 µs534.9 µs
test_faster_encode[bytes24-b'\\x01\\x01\\x01\\x]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
545.9 µs535 µs
test_faster_encode[bytes18-b'\\x01\\x01\\x01\\x]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
544.8 µs534.3 µs
test_faster_encode_packed[bytes]
benchmarks/test_packed_benchmarks.py
CodSpeed Performance Gauge
+2%
431.5 µs423.2 µs
test_faster_decode[uint240-1208925819614629]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
1.1 ms1 ms
test_faster_encode_packed[string]
benchmarks/test_packed_benchmarks.py
CodSpeed Performance Gauge
+2%
441.9 µs433.7 µs
test_faster_bytes32_encoder[abcabcabcabcabcabcabcabcabcabcde]
benchmarks/test_encoding_benchmarks.py
CodSpeed Performance Gauge
+2%
538 µs528.1 µs
test_faster_encode[bytes11-b'\\x01\\x01\\x01\\x]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
545.2 µs535.1 µs
test_faster_encode[uint192-3961408125713216]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
655.7 µs643.6 µs
test_faster_encode[uint208-2147483647]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
662.3 µs650.1 µs
test_faster_encode[bytes30-b'\\x01\\x01\\x01\\x]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
544.8 µs534.9 µs
test_faster_encode[uint176-140737488355327]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
664.6 µs652.6 µs
test_faster_decode[fixed32x2[]-[]1]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
1.7 ms1.7 ms
test_faster_encode[int128-0]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
705.9 µs693.3 µs
test_faster_decode[uint248-7183572847808854]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
1 ms1 ms
test_faster_decode[uint240-1]
benchmarks/test_abi_benchmarks.py
CodSpeed Performance Gauge
+2%
1 ms1 ms

Commits

Click on a commit to change the comparison range
Base
master
196e5e5
-7.61%
Merge branch 'master' into encode-bytestring-librt
a80121b
4 days ago
by BobTheBuidler
+0.03%
Update requirements.txt
b97b795
4 days ago
by BobTheBuidler
© 2026 CodSpeed Technology
Home Terms Privacy Docs