-
Notifications
You must be signed in to change notification settings - Fork 0
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
Optimization #6
Comments
Rewrite all byte logic with spans. (or pipes?) |
Can you leverage XKCP? They have implementations of keccak-f with intrinsics. |
I'll definitely take a look. The possible idea is not to use wrapper around native (c or asm) implementation, but to use intrinsics inside managed (c# code). Using wrapper can cause a little bit more time consumption for every native call, but using intrinsics tells the compiler just used the specified assembly code. Example link for me - sha256 Spans\pipes have more priority, as using these allow to use stack instead of heap for all transformations and get rid of all GC time waste. |
General plan is:
|
Looks like C# 8.0 have the exactly feature we need - yield async. Now I have to just wait until preview 2 and try again. Current changes are in pipleline branch. Also we have to switch to .net core 3.0. Looks like both travis and appveyor does not support it right now. |
Here is some ideas for optimization:
The text was updated successfully, but these errors were encountered: