neo-go/pkg/core/state
Evgeniy Stratonikov 291a29af1e *: do not use WriteArray for frequently used items
`WriteArray` involves reflection, it makes sense to optimize
serialization of transactions and application logs which are serialized
constantly. Adding case in a type switch in `WriteArray` is not an
option because we don't want new dependencies for `io` package.

```
name                          old time/op    new time/op    delta
AppExecResult_EncodeBinary-8     852ns ± 3%     656ns ± 2%  -22.94%  (p=0.000 n=10+9)

name                          old alloc/op   new alloc/op   delta
AppExecResult_EncodeBinary-8      448B ± 0%      376B ± 0%  -16.07%  (p=0.000 n=10+10)

name                          old allocs/op  new allocs/op  delta
AppExecResult_EncodeBinary-8      7.00 ± 0%      5.00 ± 0%  -28.57%  (p=0.000 n=10+10)
```

```
name                 old time/op    new time/op    delta
Transaction_Bytes-8    1.29µs ± 3%    0.76µs ± 5%  -41.52%  (p=0.000 n=9+10)

name                 old alloc/op   new alloc/op   delta
Transaction_Bytes-8    1.21kB ± 0%    1.01kB ± 0%  -16.56%  (p=0.000 n=10+10)

name                 old allocs/op  new allocs/op  delta
Transaction_Bytes-8      12.0 ± 0%       7.0 ± 0%  -41.67%  (p=0.000 n=10+10)
```

Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2021-08-06 11:59:20 +03:00
..
contract.go *: simplify some integer checks with IsUint64() 2021-07-19 15:42:42 +03:00
contract_test.go stackitem: introduce Convertible interface 2021-07-19 15:42:42 +03:00
deposit.go *: simplify some integer checks with IsUint64() 2021-07-19 15:42:42 +03:00
deposit_test.go stackitem: introduce Convertible interface 2021-07-19 15:42:42 +03:00
mpt_root.go state: fix MPTRoot JSONization 2021-03-26 13:45:18 +03:00
mpt_root_test.go state: fix MPTRoot JSONization 2021-03-26 13:45:18 +03:00
native_state.go state: convert NEO balance to stack item directly 2021-08-03 17:59:38 +03:00
nep17.go core: implement dynamic NEP17 balances tracking 2021-07-29 10:23:01 +03:00
nep17_test.go core: implement dynamic NEP17 balances tracking 2021-07-29 10:23:01 +03:00
notification_event.go *: do not use WriteArray for frequently used items 2021-08-06 11:59:20 +03:00
notification_event_test.go *: do not use WriteArray for frequently used items 2021-08-06 11:59:20 +03:00
oracle.go stackitem: introduce Convertible interface 2021-07-19 15:42:42 +03:00
oracle_test.go stackitem: introduce Convertible interface 2021-07-19 15:42:42 +03:00
storage_item.go dao: serialize state.StorageItem as raw bytes 2021-03-09 12:11:26 +03:00
validator.go core: switch to the new voting system (via native NEO contract) 2020-04-27 16:06:50 +03:00