You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"crypto/rsa" SignPKCS1v15() completes in about 0.01 second on non-gopherjs x86_64 but 3 seconds in gopherjs on the same machine, which is 300 times slower. Can we do better? This affects things like macgyver's ChromeStorageBackend[1].
golang has a library that implements the ssh-agent protocol, while forge doesn't, which makes it hard to use forge for macgyver's use case.
It's possible to use golang's ssh library with a non-golang RSA implementation. Which could be forge, web crypto, or other. I am likely to do this.
I mainly submitted this issue in case gopherjs is interested in improving the situation (or even just documenting why it's slow for anyone googling to find out why).
I think this could be a good test case for GopherJS performance improvements (as well as the slow-running tests in the crypto/x509 package). A while ago I attempted to profile these and determined that it was due to GopherJS's inefficient array access operations. One particular suspect is the range check GopherJS inserts on every array/slice element access.
"crypto/rsa" SignPKCS1v15() completes in about 0.01 second on non-gopherjs x86_64 but 3 seconds in gopherjs on the same machine, which is 300 times slower. Can we do better? This affects things like macgyver's ChromeStorageBackend[1].
Test code/instructions here: https://github.com/idupree/slow-gopherjs-crypto
[1] https://github.com/stripe/macgyver
The text was updated successfully, but these errors were encountered: