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

Anything that involves ECC is very slow, also prevents using 100% of CPU in parallel mode #9

Closed
Coding-Enthusiast opened this issue Sep 16, 2020 · 1 comment
Labels
bug Something isn't working

Comments

@Coding-Enthusiast
Copy link
Owner

Due to the way it is implemented (using BigInteger) elliptic curve cryptography is slow in this project.
Also any part that requires it in parallel mode fails to use 100% of CPU (usually swings between 60% to 70%) such as mnemonic recovery or any ICompareService that has to convert private key to public key.

The plan to solve this is to re-implement ECC using a custom readonly struct ModularUInt256 with optimized algorithms to compute point multiplication and a lot of the modular arithmetic used in ECC.

@Coding-Enthusiast Coding-Enthusiast added the bug Something isn't working label Sep 16, 2020
@Coding-Enthusiast
Copy link
Owner Author

This was fixed for almost all recovery options in commits from 4568d27 to ec00ce6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant