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

add neon instructions to kuznyechik #447

Merged
merged 12 commits into from
Aug 9, 2024
Merged

Conversation

alexzin04
Copy link
Contributor

No description provided.

@alexzin04
Copy link
Contributor Author

Bench before optimization (on Apple M1 Pro)
test kuznyechik_decrypt_block ... bench: 88,242.71 ns/iter (+/- 452.56) = 185 MB/s
test kuznyechik_decrypt_blocks ... bench: 88,452.09 ns/iter (+/- 1,017.96) = 185 MB/s
test kuznyechik_encrypt_block ... bench: 70,227.56 ns/iter (+/- 478.46) = 233 MB/s
test kuznyechik_encrypt_blocks ... bench: 45,962.28 ns/iter (+/- 872.57) = 356 MB/s
test result: ok. 0 passed; 0 failed; 0 ignored;4measured; 0 filtered out; finished in 2.17s

Bench after optimization with Neon
test kuznyechik_decrypt_block ... bench: 84,322.23 ns/iter (+/- 2,925.29) = 194 MB/s
test kuznyechik_decrypt_blocks ... bench: 31,483.26 ns/iter (+/- 263.59) = 520 MB/s
test kuznyechik_encrypt_block ... bench: 80,200.57 ns/iter (+/- 497.14) = 204 MB/s
test kuznyechik_encrypt_blocks ... bench: 27,858.40 ns/iter (+/- 142.16) = 588 MB/s
test result: ok. 0 passed; 0 failed; 0 ignored; 4 measured; 0 filtered out; finished in 2.63s

The speed after optimization increased by 2.81 times for decryption and by 1.6 times for encryption.

@newpavlov
Copy link
Member

Thank you!

@newpavlov newpavlov merged commit 36b34ef into RustCrypto:master Aug 9, 2024
22 checks passed
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