Skip to content

Faster AVX512 hashing - #281

Merged
Sword-Smith merged 5 commits into
masterfrom
thv/absorb-many
Oct 28, 2026
Merged

Sword-Smith merged 5 commits into
masterfrom
thv/absorb-many

Conversation

@Sword-Smith

Copy link
Copy Markdown
Member

No description provided.

Add requirement of avx512dq flag, which is needed for AVX512 support.
Public interface: `Tip5::absorb_many` Uses an AVX512 batch absorb if the
processor supports this. Otherwise uses standard sequential absorption.
Use the batch methods to hash long inputs, directly from 2d tables such
that no transposing is needed before hashing.
@Sword-Smith Sword-Smith changed the title Thv/absorb many Faster AVX512 hashing Oct 28, 2026
@codspeed

codspeed Bot commented Oct 28, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

1 warning, 1 note

⚠️ 41 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

ℹ️ 2 benchmarks have no flamegraph

The flamegraph wasn't generated: most of the time was spent in runtime internals, which would leave nothing useful to analyze.

See affected benchmarks

✅ 204 untouched benchmarks
🆕 4 new benchmarks
⏩ 2 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
🆕 sponges[64] N/A 204.6 µs N/A
🆕 sponges[64] N/A 204.8 µs N/A
🆕 columns_x_rows[400x512] N/A 66.2 ms N/A
🆕 columns_x_rows[88x512] N/A 43.4 ms N/A

Comparing thv/absorb-many (b923627) with master (63a8a4d)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@Sword-Smith
Sword-Smith merged commit 17877de into master Oct 28, 2026
24 checks passed
@Sword-Smith
Sword-Smith deleted the thv/absorb-many branch October 28, 2026 10:08
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 89.281% (-0.8%) from 90.096% — thv/absorb-many into master

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.

2 participants