bsc/core/state
setunapo 77c8372cc4 Trie prefetch on state pretch (#996)
* feature: do trie prefetch on state prefetch

Currently, state prefetch just pre execute the transactions and discard the results.
It is helpful to increase the snapshot cache hit rate.
It would be more helpful, if it can do trie prefetch at the same time, since the it will
preload the trie node and build the trie tree in advance.
This patch is to implement it, by reusing the main trie prefetch and doing finalize after
transaction is executed.

* some code improvements for trie prefetch

** increase pendingSize before dispatch tasks
** use throwaway StateDB for TriePrefetchInAdvance and remove the prefetcherLock
** remove the necessary drain operation in trie prefetch mainloop,
   trie prefetcher won't be used after close.
2022-08-01 17:41:50 +08:00
..
pruner [R4R]db: freezer batch compatible offline prunblock command (#1005) 2022-07-22 16:11:34 +08:00
snapshot fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
access_list.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
database.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
dump.go core/state: move state account to core/types + abstracted "write account to trie" (#23567) 2021-09-28 10:48:07 +02:00
iterator_test.go core, eth, les, trie: add a prefix to contract code (#21080) 2020-08-21 15:10:40 +03:00
iterator.go core/state: move state account to core/types + abstracted "write account to trie" (#23567) 2021-09-28 10:48:07 +02:00
journal.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
shared_pool.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_object.go fix: remove diffhash patch introduced fro (#1020) 2022-07-27 13:58:49 +08:00
state_test.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
statedb_test.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
statedb.go Trie prefetch on state pretch (#996) 2022-08-01 17:41:50 +08:00
sync_test.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
sync.go core, eth, les, trie: remove the sync bloom, used by fast sync 2021-12-03 12:32:41 +02:00
trie_prefetcher_test.go [R4R]: Redesign triePrefetcher to make it thread safe (#972) 2022-07-07 10:00:09 +08:00
trie_prefetcher.go Trie prefetch on state pretch (#996) 2022-08-01 17:41:50 +08:00