neoneo-go/pkg/vm
Roman Khimov bc31c97c32 vm: simplify access to context, don't call Context() twice
Avoid going through Value(), avoid doing type casts twice for every
instruction.

name                    old time/op    new time/op    delta
ScriptFibonacci-8          793µs ± 3%     736µs ± 1%  -7.18%  (p=0.000 n=10+9)
ScriptNestedRefCount-8    1.09ms ± 1%    1.08ms ± 2%  -0.96%  (p=0.035 n=10+10)
ScriptPushPop/4-8         1.51µs ± 3%    1.48µs ± 3%    ~     (p=0.072 n=10+10)
ScriptPushPop/16-8        3.76µs ± 1%    3.59µs ± 1%  -4.56%  (p=0.000 n=10+10)
ScriptPushPop/128-8       25.0µs ± 1%    23.7µs ± 1%  -5.28%  (p=0.000 n=10+10)
ScriptPushPop/1024-8       184µs ± 1%     176µs ± 2%  -4.22%  (p=0.000 n=9+9)
2021-08-30 23:43:58 +03:00
..
cli *: make tests use TempDir(), fix #1319 2021-08-26 17:29:40 +03:00
emit vm/emit: improve error message 2021-07-22 14:23:32 +03:00
opcode opcode: optimize IsValid 2021-08-02 21:46:19 +03:00
stackitem stackitem: avoid going through Value() in serialization 2021-08-23 18:29:07 +03:00
testdata opcode: fix GTE, LTE string representations 2021-04-29 16:08:48 +03:00
bench_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00
context.go vm: simplify access to context, don't call Context() twice 2021-08-30 23:43:58 +03:00
contract_checks.go stackitem: completely drop MaxArraySize 2021-07-19 15:42:42 +03:00
contract_checks_test.go core: refactor Neo.Crypto.CheckMultisigWithECDsaSecpr1 2021-03-10 21:46:05 +03:00
debug_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00
exception.go stackitem: change Bool() to TryBool(), prepare for its failures 2020-08-21 20:55:20 +03:00
interop.go interop: remove System.Iterator.Create, fix #1935 2021-05-11 12:13:30 +03:00
json_test.go vm: embed reference counter in compound items 2021-08-13 14:41:26 +03:00
opcodebench_test.go opcode: fix GTE, LTE string representations 2021-04-29 16:08:48 +03:00
ref_counter.go vm: embed reference counter in compound items 2021-08-13 14:41:26 +03:00
ref_counter_test.go vm: embed reference counter in compound items 2021-08-13 14:41:26 +03:00
slot.go vm: store refcounter directly in VM 2021-08-11 13:25:58 +03:00
slot_test.go vm: allow to initialize static slot in method 2020-07-27 13:00:35 +03:00
stack.go vm: fix (*Stack).Clear to clean up references 2021-08-25 11:20:43 +03:00
stack_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00
state.go remove github.com/pkg/errors from dependencies 2020-08-07 12:21:52 +03:00
state_test.go core, vm: store VMState as byte instead of string 2020-07-29 10:14:08 +03:00
vm.go vm: simplify access to context, don't call Context() twice 2021-08-30 23:43:58 +03:00
vm_test.go vm: rework stack as a simple slice 2021-08-24 15:28:14 +03:00