core-geth
core-geth copied to clipboard
evm: cross-client benchmarks
I have a hypothesis that core-geth's EVM implementation isn't optimized relative to it's peers turbo-geth and go-ethereum. Reasons for this include:
- core-geth removes the
EVM.chainRulesfield in favor of directly accessing theEVM.chainConfig. AFAIKchainRulesis basically a cache, so removing it should yield a less efficient implementation. - core-geth's jump table is created with each EVM, rather than assigning one from a small set of available chainconfig/fork instruction sets. Though more extensible, this is probably not as efficient.
This issue proposes developing and installing a programmatic comparison of these cross-client benchmarks so we can see whether or not the above hypothesis holds water.