go-ethereum/core/state
Jerry c36ad88aec Block-stm optimization
Added tests for executor and some improvements:

1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure.
2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings.
3. Use sync.Map to reduce the time spent in global mutex.
4. Skip applying intermediate states.
5. Estimate dependency when an execution fails without dependency information.
6. Divide execution task queue into two separate queues. One for relatively certain transactions, and the other for speculative future transactions.
7. Setting dependencies of Txs coming from the same sender before starting parallel execution.
8. Process results in their semantic order (transaction index) instead of the order when they arrive. Replace result channel with a priority queue.
2022-09-28 16:12:20 -07:00
..
pruner V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
snapshot V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02: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 core/state: move state account to core/types + abstracted "write account to trie" (#23567) 2021-09-28 10:48:07 +02: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.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
journal.go Block-stm optimization 2022-09-28 16:12:20 -07:00
metrics.go core, light, tests, trie: add state metrics (#23433) 2021-08-24 22:00:42 +03:00
state_object.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_test.go cmd/geth, eth, core: snapshot dump + unify with trie dump (#22795) 2021-05-12 11:05:39 +03:00
statedb.go Block-stm optimization 2022-09-28 16:12:20 -07:00
statedb_test.go Block-stm optimization 2022-09-28 16:12:20 -07:00
sync.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
sync_test.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
trie_prefetcher.go core/state: avoid unnecessary alloc in trie prefetcher (#23198) 2021-07-12 21:34:20 +02:00
trie_prefetcher_test.go core/state: add trie prefetcher tests (#23216) 2021-08-03 17:35:25 +02:00