fee: use array for opcodes
Use less memory and have faster access. name old time/op new time/op delta Opcode1-8 22.4ns ± 6% 3.0ns ± 6% -86.63% (p=0.000 n=10+10)
This commit is contained in:
parent
dfc514eda0
commit
3c1325035e
2 changed files with 21 additions and 2 deletions
|
@ -8,12 +8,12 @@ import (
|
|||
func Opcode(base int64, opcodes ...opcode.Opcode) int64 {
|
||||
var result int64
|
||||
for _, op := range opcodes {
|
||||
result += coefficients[op]
|
||||
result += int64(coefficients[op])
|
||||
}
|
||||
return result * base
|
||||
}
|
||||
|
||||
var coefficients = map[opcode.Opcode]int64{
|
||||
var coefficients = [256]uint16{
|
||||
opcode.PUSHINT8: 1 << 0,
|
||||
opcode.PUSHINT16: 1 << 0,
|
||||
opcode.PUSHINT32: 1 << 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue