Skip to content

docs: refresh README benchmarks post SIMD speedups - #43

Merged
mrecachinas merged 1 commit into
masterfrom
docs/refresh-benchmarks
Apr 16, 2026
Merged

docs: refresh README benchmarks post SIMD speedups#43
mrecachinas merged 1 commit into
masterfrom
docs/refresh-benchmarks

Conversation

@mrecachinas

Copy link
Copy Markdown
Owner

Re-run criterion and pytest-benchmark on current master and update both tables. Drop the 16384x64 rows from the raw Rust table since those workloads cross the Rayon threshold and criterion's measurement interacts poorly with the thread pool; point readers to the Python table for representative large-array numbers. Expand the Python table to cover start/mid/end match positions and additional sizes.

Re-run criterion and pytest-benchmark on current master and update
both tables. Drop the 16384x64 rows from the raw Rust table since
those workloads cross the Rayon threshold and criterion's measurement
interacts poorly with the thread pool; point readers to the Python
table for representative large-array numbers. Expand the Python table
to cover start/mid/end match positions and additional sizes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mrecachinas
mrecachinas merged commit 58eb339 into master Apr 16, 2026
16 of 17 checks passed
@mrecachinas
mrecachinas deleted the docs/refresh-benchmarks branch April 16, 2026 19:53
@github-actions

Copy link
Copy Markdown

📊 Benchmark Comparison Results

Status Benchmark Base PR Delta
check_bytes_arrays_first_within_dist[16384 elems,s=64,mid] 0.0430ms 0.0672ms 56.3% slower
check_bytes_arrays_first_within_dist[16384 elems,s=64,end] 0.0872ms 0.1340ms 53.6% slower
check_bytes_arrays_best_within_dist[16384 elems,s=64,end] 0.0898ms 0.1334ms 48.5% slower
check_bytes_arrays_best_within_dist[16384 elems,s=64,mid] 0.0908ms 0.1334ms 47.0% slower
check_bytes_arrays_best_within_dist[16384 elems,s=64,at 0] 0.0909ms 0.1335ms 46.8% slower
check_bytes_arrays_all_within_dist[16384 elems,s=64,mid] 0.0887ms 0.1283ms 44.7% slower
check_bytes_arrays_all_within_dist[16384 elems,s=64,at 0] 0.0887ms 0.1283ms 44.6% slower
check_bytes_arrays_all_within_dist[16384 elems,s=64,end] 0.0894ms 0.1287ms 44.0% slower
➖ 37 benchmarks within noise (click to expand)
Benchmark Base PR Delta
check_bytes_arrays_all_within_dist[ 512 elems,s=16,at 0] 0.0040ms 0.0042ms 6.4% slower
check_bytes_arrays_all_within_dist[ 512 elems,s=16,end] 0.0040ms 0.0043ms 6.5% slower
check_bytes_arrays_all_within_dist[ 512 elems,s=16,mid] 0.0040ms 0.0043ms 6.2% slower
check_bytes_arrays_all_within_dist[ 1024 elems,s=32,at 0] 0.0084ms 0.0090ms 6.7% slower
check_bytes_arrays_all_within_dist[ 1024 elems,s=32,end] 0.0084ms 0.0090ms 6.6% slower
check_bytes_arrays_all_within_dist[ 1024 elems,s=32,mid] 0.0085ms 0.0090ms 6.5% slower
check_bytes_arrays_best_within_dist[ 512 elems,s=16,at 0] 0.0048ms 0.0054ms 12.1% slower
check_bytes_arrays_best_within_dist[ 512 elems,s=16,end] 0.0041ms 0.0043ms 4.8% slower
check_bytes_arrays_best_within_dist[ 512 elems,s=16,mid] 0.0045ms 0.0049ms 8.4% slower
check_bytes_arrays_best_within_dist[ 1024 elems,s=32,at 0] 0.0087ms 0.0092ms 6.1% slower
check_bytes_arrays_best_within_dist[ 1024 elems,s=32,end] 0.0089ms 0.0092ms 3.8% slower
check_bytes_arrays_best_within_dist[ 1024 elems,s=32,mid] 0.0087ms 0.0092ms 5.7% slower
check_bytes_arrays_first_within_dist[ 512 elems,s=16,at 0] 0.0002ms 0.0002ms 0.5% slower
check_bytes_arrays_first_within_dist[ 512 elems,s=16,end] 0.0038ms 0.0043ms 11.9% slower
check_bytes_arrays_first_within_dist[ 512 elems,s=16,mid] 0.0020ms 0.0022ms 11.3% slower
check_bytes_arrays_first_within_dist[ 1024 elems,s=32,at 0] 0.0002ms 0.0002ms 0.3% faster
check_bytes_arrays_first_within_dist[ 1024 elems,s=32,end] 0.0083ms 0.0092ms 11.2% slower
check_bytes_arrays_first_within_dist[ 1024 elems,s=32,mid] 0.0043ms 0.0048ms 10.9% slower
check_bytes_arrays_first_within_dist[16384 elems,s=64,at 0] 0.0002ms 0.0002ms 4.1% slower
check_bytes_within_dist[127 bytes,d=500] 0.0002ms 0.0002ms 1.2% slower
check_bytes_within_dist[16 bytes,d=0] 0.0002ms 0.0002ms 2.2% slower
check_bytes_within_dist[64 bytes,d=100] 0.0002ms 0.0002ms 1.5% faster
hex_within_dist 0.0001ms 0.0001ms 5.9% slower
hd_bytes[1000-diff] 0.0002ms 0.0002ms 16.7% slower
hd_bytes[1000-same] 0.0002ms 0.0002ms 15.7% slower
hd_bytes[1024-diff] 0.0002ms 0.0002ms 13.6% slower
hd_bytes[1024-same] 0.0002ms 0.0002ms 15.1% slower
hd_bytes[3-diff] 0.0002ms 0.0002ms 9.0% slower
hd_bytes[3-same] 0.0002ms 0.0002ms 12.8% slower
hd_bytes[64-diff] 0.0002ms 0.0002ms 7.5% slower
hd_string[1000-diff] 0.0002ms 0.0003ms 16.2% slower
hd_string[1000-same] 0.0002ms 0.0003ms 26.4% slower
hd_string[1024-diff] 0.0002ms 0.0003ms 7.8% slower
hd_string[1024-same] 0.0002ms 0.0002ms 11.7% slower
hd_string[3-diff] 0.0002ms 0.0003ms 4.0% slower
hd_string[3-same] 0.0001ms 0.0001ms 0.6% faster
hd_string[64-diff] 0.0002ms 0.0002ms 0.0% faster

Legend: ✅ Faster (>5%) · ⚠️ Slower (5-30%) · ❌ Regression (>30%) · 🆕 New · 🗑️ Removed


This PR has severe performance regressions (>20% slower). Please investigate before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant