Preallocate memory when deriving address from key

This makes src/address.AddrForKey preallocate 32 bytes before starting
the address derivation. As benches in syg_go show, reallocating temp
takes 20% of the function runtime.
This commit is contained in:
Timur Demin 2021-07-06 21:24:21 +05:00
parent 35e8ff7c9d
commit 04ecdf6045
No known key found for this signature in database
GPG Key ID: 9EDF3F9D9286FA20

View File

@ -64,7 +64,7 @@ func AddrForKey(publicKey ed25519.PublicKey) *Address {
buf[idx] = ^buf[idx] buf[idx] = ^buf[idx]
} }
var addr Address var addr Address
var temp []byte var temp = make([]byte, 0, 32)
done := false done := false
ones := byte(0) ones := byte(0)
bits := byte(0) bits := byte(0)