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
{{ message }}
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.
@geohot brought the btcec code into minigeth (commit), and made a change to it to speed it up (commit).
That change is essentially to hardcode a precomputed chunk of data that the secp256k1 implementation needs, instead of computing it on the fly on each run. This shaves some / a lot of time (but how much?) off the execution.
I've opted to preserve George's implementation in minigeth, but we should probably try to benchmark both implementation against each other, and revert to the upstream default if it's faster or the custom implementation gives only very modest gains.
The text was updated successfully, but these errors were encountered:
Oh it's a huge amount of instructions to unpack the secp256k1, like 200M. Try it. I wouldn't have done a custom one if I didn't have to to get a block to run in reasonable time.
@geohot brought the btcec code into minigeth (commit), and made a change to it to speed it up (commit).
That change is essentially to hardcode a precomputed chunk of data that the secp256k1 implementation needs, instead of computing it on the fly on each run. This shaves some / a lot of time (but how much?) off the execution.
Meanwhile, upstream geth migrated to btcec v2 (cf. blame on
signature_nocgo.go
)I've opted to preserve George's implementation in minigeth, but we should probably try to benchmark both implementation against each other, and revert to the upstream default if it's faster or the custom implementation gives only very modest gains.
The text was updated successfully, but these errors were encountered: