Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manually unroll x^7 for poseidon for a ~50% speedup [master] #2400

Merged
merged 1 commit into from
Jul 9, 2024

Conversation

dannywillems
Copy link
Member

@dannywillems dannywillems commented Jul 8, 2024

Cherry-picked #2394.

Output on my machine:

poseidon_absorb_permutation kimchi                                                                             
                        time:   [30.086 µs 30.131 µs 30.221 µs]
                        change: [-40.050% -39.774% -39.371%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  10 (10.00%) high severe

poseidon_absorb_permutation legacy                                                                             
                        time:   [49.133 µs 49.157 µs 49.180 µs]
                        change: [-7.0440% -6.9919% -6.9411%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
  1 (1.00%) low severe
  5 (5.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe

Therefore getting ~40% improvement compared to current version.

@dannywillems dannywillems changed the title Manually unroll x^7 for poseidon for a ~50% speedup Manually unroll x^7 for poseidon for a ~50% speedup [master] Jul 8, 2024
Base automatically changed from dw/bench-poseidon-master to master July 9, 2024 12:33
@volhovm
Copy link
Member

volhovm commented Jul 9, 2024

cool!

@volhovm volhovm merged commit 6c99023 into master Jul 9, 2024
7 checks passed
@volhovm volhovm deleted the dw/speed-up-poseidon-kimchi branch July 9, 2024 12:34
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.

3 participants