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
19
pkg/core/fee/opcode_test.go
Normal file
19
pkg/core/fee/opcode_test.go
Normal file
|
@ -0,0 +1,19 @@
|
|||
package fee
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/opcode"
|
||||
)
|
||||
|
||||
const feeFactor = 30
|
||||
|
||||
// The most common Opcode() use case is to get price for single opcode.
|
||||
func BenchmarkOpcode1(t *testing.B) {
|
||||
// Just so that we don't always test the same opcode.
|
||||
script := []opcode.Opcode{opcode.NOP, opcode.ADD, opcode.SYSCALL, opcode.APPEND}
|
||||
l := len(script)
|
||||
for n := 0; n < t.N; n++ {
|
||||
_ = Opcode(feeFactor, script[n%l])
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue