go-ethereum/core/state
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
..
database.go core/state: avoid redundant addition to code size cache (#16427) 2018-04-03 17:13:19 +02:00
dump.go core/state: rework dirty handling to avoid quadratic overhead 2018-03-28 09:29:28 +03:00
iterator_test.go core, trie: intermediate mempool between trie and database (#15857) 2018-02-05 17:40:32 +01:00
iterator.go core/state: access trie through Database interface, track errors (#14589) 2017-06-27 15:57:06 +02:00
journal.go core/state: avoid linear overhead on journal dirty listing 2018-03-28 09:32:02 +03:00
main_test.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
managed_state_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
managed_state.go core, core/state, core/vm: remove exported account getters (#3618) 2017-02-22 23:29:59 +01:00
state_object.go core: fix typo in comment code 2018-06-05 09:56:45 +07:00
state_test.go common: improve documentation comments (#16701) 2018-05-29 12:42:21 +02:00
statedb_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
statedb.go trie: cache collapsed tries node, not rlp blobs (#16876) 2018-06-21 11:28:05 +02:00
sync_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
sync.go trie: rename TrieSync to Sync and improve hexToKeybytes (#16804) 2018-05-29 17:48:43 +02:00