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). |
||
|---|---|---|
| .. | ||
| database.go | ||
| dump.go | ||
| iterator_test.go | ||
| iterator.go | ||
| journal.go | ||
| main_test.go | ||
| managed_state_test.go | ||
| managed_state.go | ||
| state_object.go | ||
| state_test.go | ||
| statedb_test.go | ||
| statedb.go | ||
| sync_test.go | ||
| sync.go | ||