neo-go/pkg/core/storage
Roman Khimov 35bdfc5eca storage: use two maps for MemoryStore
Simple and dumb as it is, this allows to separate contract storage from other
things and dramatically improve Seek() time over storage (even though it's
still unordered!) which in turn improves block processing speed.

        LevelDB             LevelDB (KeepOnlyLatest)  BoltDB              BoltDB (KeepOnlyLatest)
Master  real    16m27,936s  real    10m9,440s         real    16m39,369s  real    8m1,227s
        user    20m12,619s  user    26m13,925s        user    18m9,162s   user    18m5,846s
        sys     2m56,377s   sys     1m32,051s         sys     9m52,576s   sys     2m9,455s

2 maps  real    10m49,495s  real    8m53,342s         real    11m46,204s  real    5m56,043s
        user    14m19,922s  user    24m6,225s         user    13m25,691s  user    15m4,694s
        sys     1m53,021s   sys     1m23,006s         sys     4m31,735s   sys     2m8,714s

neo-bench performance is mostly unaffected, ~0.5% for 1-1 test and 4% for
10K-10K test both fall within regular test error range.
2022-02-16 15:55:48 +03:00
..
boltdb_store.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
boltdb_store_test.go *: fix tests failing due to path.Join usage 2021-11-29 11:11:09 +03:00
leveldb_store.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
leveldb_store_test.go core: add benchmarks for iterator.Next, MemCached.Seek, Mem.Seek 2021-10-21 10:05:12 +03:00
memcached_store.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
memcached_store_test.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
memory_store.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
memory_store_test.go core: allow early Seek stop 2022-01-19 20:54:35 +03:00
store.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00
store_config.go storage: drop RedisDB, close #2130 2021-10-27 17:32:25 +03:00
store_test.go storage: drop STAccount prefix 2022-02-16 13:06:57 +03:00
storeandbatch_test.go storage: use two maps for MemoryStore 2022-02-16 15:55:48 +03:00