neo-go/pkg/core
Roman Khimov 1c38b45074 core: don't always store all hashes in memory
We're paging these hashes, so we need a previous full page and a current one
plus some cache for various requests. Storing 1M of hashes is 32M of memory
and it grows quickly. It also seriously affects node startup time, most of
what it's doing is reading these hashes, the longer the chain the more time it
needs to do that.

Notice that this doesn't change the underlying DB scheme in any way.
2022-11-25 14:30:51 +03:00
..
block block: JSONize tx-less block as [] instead of null 2022-07-21 13:15:31 +03:00
chaindump core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
dao core: don't always store all hashes in memory 2022-11-25 14:30:51 +03:00
fee vm: add MODMUL and MODPOW opcodes 2022-05-12 14:25:14 +03:00
interop core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
mempool [#2442] English Check 2022-05-04 19:48:27 +03:00
mempoolevent [#2442] English Check 2022-05-04 19:48:27 +03:00
mpt golangci: enable/fix misspell 2022-09-02 18:36:26 +03:00
native core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
state core: fix typo 2022-11-10 17:58:06 +03:00
stateroot core: allow to reset blockchain state 2022-11-10 18:08:17 +03:00
statesync core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
storage core: allow to reset blockchain state 2022-11-10 18:08:17 +03:00
test_data core: refactor helper test contracts generation 2022-03-30 11:46:29 +03:00
transaction core: add example to VUB comment 2022-10-06 10:32:18 +03:00
basic_chain_test.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
bench_test.go core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
blockchain.go core: don't always store all hashes in memory 2022-11-25 14:30:51 +03:00
blockchain_core_test.go core: don't always store all hashes in memory 2022-11-25 14:30:51 +03:00
blockchain_neotest_test.go core: don't always store all hashes in memory 2022-11-25 14:30:51 +03:00
doc.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
headerhashes.go core: don't always store all hashes in memory 2022-11-25 14:30:51 +03:00
helper_test.go core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
interops.go core: move storage-related interop code into the storage package 2022-06-08 22:26:24 +03:00
native_designate_test.go core: add some comment for TestDesignate_DesignateAsRole 2022-06-08 23:11:14 +03:00
prometheus.go core: make GetHeaderHash accept uint32 2022-11-25 14:30:51 +03:00
util.go core: simplify header hash list restoration logic 2022-11-25 13:08:03 +03:00
util_test.go core: export CreateGenesisBlock 2022-06-08 18:20:34 +03:00