erigon-pulse/cmd
Martin Holst Swende c042afb4af
cmd/evm: support batched statetest-mode (#7598)
This implements batched state-test exectution, similar to
https://github.com/ethereum/go-ethereum/pull/27318 .
Some speedtests, executing a state-test twice on current master takes
~4-5 seconds, and scales linerarly.
```
Doing 2 execs old style

real    0m8.185s
user    0m8.081s
sys     0m0.110s
```
Doing `100` executions on this PR -- a few seconds of ramp-up time, but
very quick execution after that :
```
Doing 100 execs v2

real    0m5.009s
user    0m4.560s
sys     0m0.508s
```
I also tested a version where I moved the db instantiation into the top
callsite, with the `MustOpen` and `.Close` only performed once, instead
of `100` times -- however, I noticed no additional speed gains from
doing so (my branch `batched_evm_v2`).

Therefore, I suspect that the slowdowns comes not from the db, but the
kzg library initialization.
2023-05-29 18:28:24 +07:00
..
abigen cli: use SplitAndTrim instead of strgings.Split(",") (#7369) 2023-04-23 10:54:55 +07:00
bootnode [devnet] separate logging p2p (#7549) 2023-05-19 23:08:45 +01:00
caplin-phase1 Caplin: Proper validator set (#7591) 2023-05-28 17:11:18 +02:00
devnet [devnet tool] Use logging instead of fmt.Printf (#7560) 2023-05-22 08:46:50 +01:00
downloader [devnet tool] separate logging (#7526) 2023-05-17 07:36:06 +01:00
erigon [devnet tool] separate logging (#7526) 2023-05-17 07:36:06 +01:00
erigon-el use blockReader as service-provider of RoSnapshots (#7584) 2023-05-26 17:12:33 +07:00
erigon-el-mock Introduce BlockWriter object (txsV3 step 0) (#7559) 2023-05-22 15:49:21 +07:00
erigoncustom erigon backup: v0 of sub-command (#7396) 2023-04-27 10:42:12 +07:00
evm cmd/evm: support batched statetest-mode (#7598) 2023-05-29 18:28:24 +07:00
hack use blockReader as service-provider of RoSnapshots (#7584) 2023-05-26 17:12:33 +07:00
integration use blockReader as service-provider of RoSnapshots (#7584) 2023-05-26 17:12:33 +07:00
observer [devnet] separate logging p2p (#7549) 2023-05-19 23:08:45 +01:00
p2psim [devnet tool] Separate logging (#7553) 2023-05-20 14:48:16 +01:00
pics Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
prometheus grafana remove datasource uid (#7247) 2023-04-03 11:59:41 +00:00
release [caplin] pkg refactor (#7507) 2023-05-13 23:44:07 +02:00
rlpdump rename (#1978) 2021-05-20 19:25:53 +01:00
rpcdaemon receipts: less allocs in DeriveFields, use blockReader, remove ReadReceiptsByHash, gasPriceOracle don't read block twice and use blockLru (#7592) 2023-05-27 16:39:14 +07:00
rpctest Move hexutil.Bytes to erigon-lib (#7305) 2023-04-13 11:19:02 +00:00
sentinel [caplin] incremental improvements to p2p layer (#7582) 2023-05-28 07:54:04 +07:00
sentry add blockReader to mining, blockchain_test (#7569) 2023-05-24 13:53:22 +07:00
state blockReader in tests - step8 (#7578) 2023-05-25 12:46:11 +07:00
txpool [devnet tool] Separate logging (#7553) 2023-05-20 14:48:16 +01:00
utils blockReaders in tests, step4 (#7570) 2023-05-24 15:52:51 +07:00
verkle Introduce logger into etl (#7537) 2023-05-18 21:20:07 +01:00