Avatar for the BobTheBuidler user
BobTheBuidler
faster-hexbytes
BlogDocsChangelog

perf: add bytes fast-path in HexBytes.__new__

#73
Comparing
perf/hexbytes-bytes-fast-path
(
f9e3112
) with
master
(
134e0e2
)
CodSpeed Performance Gauge
+30%
Improvement
592
Untouched
27

Benchmarks

619 total
test_faster_to_bytes[memoryview(palindrome)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.5 µs86 µs
test_faster_to_bytes[2**8]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
87 µs67.1 µs
test_faster_to_bytes[memoryview(0-9)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.6 µs86.1 µs
test_faster_to_bytes[memoryview(multiples of 0x10)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.5 µs86.1 µs
test_faster_to_bytes[memoryview(b'\\x7f'*8)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.5 µs86.1 µs
test_faster_to_bytes[memoryview(ascii sentence)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.5 µs86.1 µs
test_faster_to_bytes[memoryview(single 0xff)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+30%
111.5 µs86.1 µs
test_faster_to_bytes[memoryview(alternating 0xaa/0x55)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.2 µs
test_faster_to_bytes[memoryview(b'\\x80'*8)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.4 µs86.1 µs
test_faster_to_bytes[memoryview(b'\\x00\\xff\\x00\\xff')]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.2 µs
test_faster_to_bytes[memoryview(b'\\xff'*64)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.5 µs86.1 µs
test_faster_to_bytes[memoryview(alternating 0x00/0xff)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.5 µs86.2 µs
test_faster_to_bytes[memoryview(two patterns)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.2 µs
test_faster_to_bytes[memoryview(b'\\x10\\x20\\x30\\x40\\x50')]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.2 µs
test_faster_to_bytes[0]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
84.7 µs65.5 µs
test_faster_to_bytes[memoryview(b'\\x01\\x02\\x03')]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.7 µs86.3 µs
test_faster_to_bytes[memoryview(palindrome numeric)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.3 µs
test_faster_to_bytes[memoryview(b'\\xde\\xad\\xbe\\xef')]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.3 µs
test_faster_to_bytes[memoryview(b'\\x00'*32)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.4 µs86.2 µs
test_faster_to_bytes[memoryview(palindrome ascii)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.3 µs
test_faster_to_bytes[memoryview(b'\\x01'*100)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
112.1 µs86.7 µs
test_faster_to_bytes[memoryview(single null byte)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.5 µs86.3 µs
test_faster_to_bytes[memoryview(b'abc')]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.6 µs86.3 µs
test_faster_to_bytes[memoryview(repeated 0-9)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
111.9 µs86.7 µs
test_faster_to_bytes[memoryview(4-byte pattern)]
benchmarks/test__utils_benchmarks.py
CodSpeed Performance Gauge
+29%
112.7 µs87.4 µs

Commits

Click on a commit to change the comparison range
Base
master
134e0e2
+24.3%
Update main.py
389aec5
30 days ago
by BobTheBuidler
-24.21%
Merge branch 'master' into perf/hexbytes-bytes-fast-path
e5de0b0
30 days ago
by BobTheBuidler
-0.06%
Merge branch 'master' into perf/hexbytes-bytes-fast-path
475424a
30 days ago
by BobTheBuidler
+29.66%
Merge branch 'master' into perf/hexbytes-bytes-fast-path
f9e3112
29 days ago
by BobTheBuidler
© 2026 CodSpeed Technology
Home Terms Privacy Docs