core-geth icon indicating copy to clipboard operation
core-geth copied to clipboard

evm: cross-client benchmarks

Open meowsbits opened this issue 4 years ago • 0 comments

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.chainRules field in favor of directly accessing the EVM.chainConfig. AFAIK chainRules is 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.

meowsbits avatar Jan 11 '21 11:01 meowsbits