Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream EVM benchmarking #22

Open
1 of 6 tasks
chfast opened this issue Oct 30, 2019 · 5 comments
Open
1 of 6 tasks

Upstream EVM benchmarking #22

chfast opened this issue Oct 30, 2019 · 5 comments
Assignees

Comments

@chfast
Copy link
Collaborator

chfast commented Oct 30, 2019

The current scripts for running benchmarks on EVM implementations are in https://github.com/cdetrio/benchmarking-wasm-ewasm-evm (private repo).

  • The scripts could be moved to this repo.

They are based on out-of-tree changes that should be upstreamed to:

Also consider:

  • Building individual docker images for each EVM instead of having single one.

Recent results: https://docs.google.com/presentation/d/1MgXd159bmx37Q70Ng_ggHcClcYLafYqrxNEBFKAMqWI/edit#slide=id.g64bd7b8151_0_1

  • evmone results from docker build and from native build are different - the difference is big enough that only usage of different compiler version is not enough to explain it.

The EVM should accept for benchmarking

  • EVM bytecode
  • EVM input

From each EVM we need following data:

  • Total time of execution
  • EVM output (to check correctness)
  • gas used
  • EVM exception/success status (not strictly needed)
@axic
Copy link
Member

axic commented Jun 12, 2020

Things have improved since October, now all the sources are in this repository and in https://github.com/ewasm-benchmarking. Yet it would be nice to upstream some of the benchmarking code.

Out of all the forks we have, I think upstreaming to openethereum is one case which could make sense: https://github.com/ewasm-benchmarking/openethereum/tree/evm-code-bencher

@chfast @gumb0 are you interested?

@axic
Copy link
Member

axic commented Jun 12, 2020

@chfast And can this evmone fork https://github.com/ewasm-benchmarking/evmone/commits/bench-evm-codes replaced by upstream?

@gumb0
Copy link

gumb0 commented Jun 15, 2020

I would be interested in messing with openethereum/evm-code-bencher.

Should we make a separate tool out of it or rather new mode in evmbin tool? (currently it looks to replace most of evmbin features)

@axic
Copy link
Member

axic commented Jun 15, 2020

@gumb0 I were you I'd ask openethereum first whether they are interested in such features, either in evmbin or in a separate tool. If they are, then perhaps it is worth the effort, if we can timebox into some low number of hours.

@axic
Copy link
Member

axic commented Jun 22, 2020

Updates:

  1. I don't think it make sense trying to upstream to cita-vm.

  2. evmone was upstreamed and the repo uses the 0.4.1 release

  3. parity/openethereum would be nice to upstream, the latest code we have is: https://github.com/ewasm-benchmarking/openethereum/releases/tag/v2.5.1-benchmarking

@axic axic assigned gumb0 and unassigned chfast Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants