Avatar for the ifduyue user
ifduyue
python-xxhash
BlogDocsChangelog

perf: METH_FASTCALL, tp_vectorcall, and related optimizations

#147Merged
Comparing
vectorcall
(
a974b6b
) with
master
(
1585d2b
)
CodSpeed Performance Gauge
0%
Untouched
10
New
24
Skipped
86

Benchmarks

120 total
test_xxh32_ctor_empty
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A84.2 µs
test_xxh32_ctor
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.9 µs
test_xxh32_ctor_seed
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A86.8 µs
test_xxh3_64_intdigest_5b_seed_kw
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.6 µs
test_xxh32_hexdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.1 µs
test_xxh64_intdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A84.8 µs
test_xxh64_stream_intdigest_2mb
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A1.8 ms
test_xxh64_ctor
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A86.7 µs
test_xxh64_intdigest_str
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A86 µs
test_xxh32_intdigest_5b_seed_kw
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.5 µs
test_xxh32_intdigest_5b_seed
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A87.1 µs
test_xxh3_128_ctor
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A87.8 µs
test_xxh32_intdigest_str
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.4 µs
test_xxh3_128_intdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A86.9 µs
test_xxh3_128_intdigest_str
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A87 µs
test_xxh3_64_ctor
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A87.5 µs
test_xxh3_64_stream_intdigest_2mb
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A1.6 ms
test_xxh3_64_intdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A84.7 µs
test_xxh3_64_intdigest_str
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.3 µs
test_xxh64_hexdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A86.5 µs
test_xxh32_stream_intdigest_2mb
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A2.2 ms
test_xxh32_intdigest_5b
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85 µs
test_xxh64_intdigest_5b_seed_kw
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A85.5 µs
test_xxh3_128_stream_intdigest_2mb
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A1.6 ms
test_xxh3_128_intdigest_1kb
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
89.4 µs89 µs

Commits

Click on a commit to change the comparison range
Base
master
1585d2b
+0.75%
perf: add tp_vectorcall to all four hash types
1585d2b
19 hours ago
by ifduyue
-1.26%
fix: remove unsupported min_rounds from codspeed benchmark markers
f49eaa4
19 hours ago
by ifduyue
+0.05%
fix: don't overwrite tp_alloc error with PyErr_NoMemory in vectorcall
da76b27
19 hours ago
by ifduyue
-0.02%
fix: release buffer on tp_alloc failure in vectorcall functions
9647f32
18 hours ago
by ifduyue
+0.02%
refactor: reuse PYXXH*_do_update helpers in vectorcall functions
cba0f28
18 hours ago
by ifduyue
+0.06%
fix: use buf.obj instead of buf.buf for buffer-acquired check
14675ad
18 hours ago
by ifduyue
+0.28%
bench: add 2MB throughput benchmarks
a974b6b
17 hours ago
by ifduyue
© 2026 CodSpeed Technology
Home Terms Privacy Docs