neo-go/pkg/core
Anna Shaleva 191cc45032 core: sort items in MemoryStore.Seek
MemoryStore is used in a MemCachedStore as a persistent layer in tests.
Further commits suppose that persistent storage returns sorted values
from Seek, so sort the result of MemoryStore.Seek.

Benchmark results for 10000 matching items in MemoryStore compared to
master:
name          old time/op    new time/op    delta
MemorySeek-8     712µs ± 0%    3850µs ± 0%   +440.52%  (p=0.000 n=8+8)

name          old alloc/op   new alloc/op   delta
MemorySeek-8     160kB ± 0%    2724kB ± 0%  +1602.61%  (p=0.000 n=10+8)

name          old allocs/op  new allocs/op  delta
MemorySeek-8     10.0k ± 0%     10.0k ± 0%     +0.24%  (p=0.000 n=10+10)

For details on implementation efficiency see the
https://github.com/nspcc-dev/neo-go/pull/2193#discussion_r722993358.
2021-10-21 10:05:12 +03:00
..
block core: marshal Block.Nonce in upper-case hex 2021-09-09 15:52:51 +03:00
blockchainer rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
chaindump block: drop Network from the Header 2021-03-26 13:45:18 +03:00
dao core: refactor (*DAO).StoreAsTransaction 2021-08-18 13:39:28 +03:00
fee fee: use array for opcodes 2021-08-02 20:18:33 +03:00
interop core: remove unused interopnames 2021-09-21 16:43:09 +03:00
mempool mempool: reword ErrConflict message, fix #2197 2021-09-28 09:57:42 +03:00
mempoolevent core: move mempool.Event to a separate package 2021-06-01 12:24:28 +03:00
mpt core: try to collapse traversed Billet part on errStop 2021-10-13 14:47:59 +03:00
native rpc: add getstate RPC handler 2021-10-11 16:43:44 +03:00
state state: optimize NEP17TransferLog.Append 2021-08-09 11:09:49 +03:00
stateroot rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
statesync rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
storage core: sort items in MemoryStore.Seek 2021-10-21 10:05:12 +03:00
test_data core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
transaction transaction: fix ContentTypeNotSupported oracle code processing 2021-09-14 15:18:38 +03:00
bench_test.go core: don't recalculate witness script hash 2021-08-06 11:25:09 +03:00
blockchain.go subscriptions: add container hash to notification event 2021-09-24 17:42:02 +03:00
blockchain_test.go subscriptions: add container hash to notification event 2021-09-24 17:42:02 +03:00
doc.go core: add Blockchain event subscription mechanism 2020-05-25 00:27:39 +03:00
helper_test.go rpc: implement findstates RPC handler 2021-10-13 11:41:05 +03:00
interop_system.go core: reuse PushItem for interops 2021-08-30 23:43:58 +03:00
interop_system_test.go core: add benchmarks for iterator.Next, MemCached.Seek, Mem.Seek 2021-10-21 10:05:12 +03:00
interops.go interop: implement System.Runtime.GetRandom 2021-07-15 16:00:01 +03:00
interops_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_contract_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_designate_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_gas_test.go native: drop Refuel method from GAS 2021-08-05 10:27:13 +03:00
native_ledger_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
native_management_test.go core: maintain a set of NEP17-compliant contracts 2021-07-28 13:22:53 +03:00
native_neo_test.go core: fix NEO balance state handler 2021-09-20 19:23:35 +03:00
native_notary_test.go config: make MaxValidUntilBlockIncrement configurable 2021-05-17 13:43:03 +03:00
native_oracle_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_policy_test.go native/policy: disallow blocking native contracts 2021-09-03 11:11:06 +03:00
nonnative_name_service_test.go nft-nd-nns: add getAllRecords method 2021-09-10 16:30:45 +03:00
notary_test.go notary: process new transactions in a separate goroutine 2021-07-23 14:48:00 +03:00
oracle_test.go *: simplify some error messages 2021-07-23 10:08:09 +03:00
prometheus.go stateroot: move state-root related logic to core/stateroot 2021-03-09 13:48:29 +03:00
stateroot_test.go *: make tests use TempDir(), fix #1319 2021-08-26 17:29:40 +03:00
statesync_test.go core: check MPT node is not requested twice by StateSync module 2021-10-12 14:08:56 +03:00
util.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
util_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00