go-ethereum/eth
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
..
downloader eth: conform better to the golint standards (#16783) 2018-06-14 13:14:52 +03:00
fetcher eth/fetcher: fix annotation (#16969) 2018-06-13 17:02:28 +03:00
filters eth/filters: make filterLogs func more readable (#16920) 2018-06-14 12:27:02 +03:00
gasprice eth/gasprice: set default percentile to 60%, count blocks instead of transactions (#15828) 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_backend.go eth: conform better to the golint standards (#16783) 2018-06-14 13:14:52 +03:00
api_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
api_tracer.go trie: cache collapsed tries node, not rlp blobs (#16876) 2018-06-21 11:28:05 +02:00
api.go eth: conform better to the golint standards (#16783) 2018-06-14 13:14:52 +03:00
backend.go eth: conform better to the golint standards (#16783) 2018-06-14 13:14:52 +03:00
bloombits.go core/rawdb: separate raw database access to own package (#16666) 2018-05-07 14:35:06 +03:00
config.go core, eth, trie: streaming GC for the trie cache (#16810) 2018-06-04 10:47:43 +03:00
gen_config.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
handler_test.go all: get rid of error when creating memory database (#16716) 2018-05-09 15:24:25 +03:00
handler.go eth: conform better to the golint standards (#16783) 2018-06-14 13:14:52 +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 (#15910) 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_test.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
protocol.go core, eth: minor txpool event cleanups 2018-05-18 12:08:24 +03:00
sync_test.go core, trie: intermediate mempool between trie and database (#15857) 2018-02-05 17:40:32 +01:00
sync.go eth: update higest block we know during the sync if a higher was found (#16283) 2018-03-09 11:51:30 +02:00