-
Notifications
You must be signed in to change notification settings - Fork 271
Performance of blake2 #5
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
Comments
Well, here are the results of a benchmark for the code extracted from rust compiler:
The 16 bytes case is probably slow because I'm not skipping some setup cost (you can observe benchmarks at the bottom of the gist linked above). Otherwise, it looks like rust has much better implementation than this crate (unless I'm testing it wrong). |
Thank you for reporting this! The original code from rust-crypto for blake2 is somewhat messy so I planned to work on it later, performance issues will be an additional incentive to do it. I will probably start working on it in January, but if you would like to try to improve this crate before that you are welcome! Regarding SIMD, none of the crates currently use explicit SIMD instructions, they only use |
Well, I don't have time to invest into it right now. I'm just trying to choose good hasher that will serve me in the long term. So I'm going to use blake2 and hopefully will benefit from it even more in future. Thank you for work on this library! |
With a delay I've started rework of blake2 crate, you can see it in #17. For blake2b I am currently getting up to 720 MB/s on my machine and 470 MB/s for blake2s. I think several parts of the code can be optimized even further. |
I think we can close this issue now. It's definitely should be possible to optimize code even further, but I don't see easy ways to do it for current implementation. |
Code review for Rust crypto main PR
Hi,
It looks like performance of blake2 compared to sha512 is very similar (while still faster):
But https://blake2.net/ shows that performance should be about 3x faster.
Any ideas? It looks like blake2 does not use SIMD? Is it not needed? Is there a chance that blake2 crate here will be optimized better in future? Or it's just because recent processors already execute sha512 much faster?
The text was updated successfully, but these errors were encountered: