go-ethereum/eth
Péter Szilágyi d926bf2c7e trie: cache collapsed tries node, not rlp blobs ()
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
..
downloader eth: conform better to the golint standards () 2018-06-14 13:14:52 +03:00
fetcher eth/fetcher: fix annotation () 2018-06-13 17:02:28 +03:00
filters eth/filters: make filterLogs func more readable () 2018-06-14 12:27:02 +03:00
gasprice eth/gasprice: set default percentile to 60%, count blocks instead of transactions () 2018-01-10 13:57:36 +01:00
tracers tracers: fix err in 4byte, add some opcode analysis tools 2018-06-20 11:42:57 +03:00
api.go eth: conform better to the golint standards () 2018-06-14 13:14:52 +03:00
api_backend.go eth: conform better to the golint standards () 2018-06-14 13:14:52 +03:00
api_test.go all: get rid of error when creating memory database () 2018-05-09 15:24:25 +03:00
api_tracer.go trie: cache collapsed tries node, not rlp blobs () 2018-06-21 11:28:05 +02:00
backend.go eth: conform better to the golint standards () 2018-06-14 13:14:52 +03:00
bloombits.go core/rawdb: separate raw database access to own package () 2018-05-07 14:35:06 +03:00
config.go core, eth, trie: streaming GC for the trie cache () 2018-06-04 10:47:43 +03:00
gen_config.go all: regenerate codecs with gencodec commit 90983d99de () 2018-01-08 15:13:22 +02:00
handler.go eth: conform better to the golint standards () 2018-06-14 13:14:52 +03:00
handler_test.go all: get rid of error when creating memory database () 2018-05-09 15:24:25 +03:00
helper_test.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
metrics.go metrics: pull library and introduce ResettingTimer and InfluxDB reporter () 2018-02-23 11:56:08 +02:00
peer.go eth: propagate blocks and transactions async 2018-05-21 11:32:42 +03:00
protocol.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
protocol_test.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
sync.go eth: update higest block we know during the sync if a higher was found () 2018-03-09 11:51:30 +02:00
sync_test.go core, trie: intermediate mempool between trie and database () 2018-02-05 17:40:32 +01:00