erigon-pulse/core
Péter Szilágyi d926bf2c7e trie: cache collapsed tries node, not rlp blobs (#16876)
The current trie memory database/cache that we do pruning on stores
trie nodes as binary rlp encoded blobs, and also stores the node
relationships/references for GC purposes. However, most of the trie
nodes (everything apart from a value node) is in essence just a
collection of references.

This PR switches out the RLP encoded trie blobs with the
collapsed-but-not-serialized trie nodes. This permits most of the
references to be recovered from within the node data structure,
avoiding the need to track them a second time (expensive memory wise).
2018-06-21 11:28:05 +02:00
..
asm core/asm: correct comments typo (#16974) 2018-06-14 16:24:35 +03:00
bloombits all: fix various typos (#16533) 2018-04-19 16:32:02 +03:00
rawdb core/rawdb: wrap db key creations (#16914) 2018-06-11 16:06:26 +03:00
state trie: cache collapsed tries node, not rlp blobs (#16876) 2018-06-21 11:28:05 +02:00
types core: remove dead code, limit test code scope (#17006) 2018-06-19 14:41:13 +03:00
vm core: remove dead code, limit test code scope (#17006) 2018-06-19 14:41:13 +03:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
block_validator_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
block_validator.go core, trie: intermediate mempool between trie and database (#15857) 2018-02-05 17:40:32 +01:00
blockchain_test.go trie: cache collapsed tries node, not rlp blobs (#16876) 2018-06-21 11:28:05 +02:00
blockchain.go trie: cache collapsed tries node, not rlp blobs (#16876) 2018-06-21 11:28:05 +02:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
chain_indexer_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
chain_indexer.go core/rawdb: separate raw database access to own package (#16666) 2018-05-07 14:35:06 +03:00
chain_makers_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
chain_makers.go core: remove dead code, limit test code scope (#17006) 2018-06-19 14:41:13 +03:00
dao_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
error.go core: make txpool operate on immutable state 2017-09-05 13:34:41 +03:00
events.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
evm.go core: minor evm polishes and optimizations 2018-03-26 12:28:46 +03:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis_account.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
gen_genesis.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
genesis_alloc.go all: use gometalinter.v2, fix new gosimple issues (#15650) 2017-12-12 19:05:47 +01:00
genesis_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
genesis.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
headerchain.go core, eth, les: more efficient hash-based header chain retrieval (#16946) 2018-06-12 16:52:54 +03:00
helper_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
mkalloc.go core: refactor genesis handling 2017-03-23 15:58:43 +01:00
state_processor.go core: relax type requirement for bc in ApplyTransaction (#16901) 2018-06-07 10:34:24 +02:00
state_transition.go core: remove stray account creations in state transition (#16470) 2018-04-10 15:33:25 +02:00
tx_cacher.go core: concurrent background transaction sender ecrecover 2018-06-05 11:03:55 +03:00
tx_journal.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
tx_list_test.go all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
tx_list.go core: use a wrapped map to remove contention in TxPool.Get. (#16670) 2018-05-23 15:55:42 +03:00
tx_pool_test.go core: use a wrapped map to remove contention in TxPool.Get. (#16670) 2018-05-23 15:55:42 +03:00
tx_pool.go core: reduce nesting in transaction pool code (#16980) 2018-06-14 13:46:43 +03:00
types.go all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00