Skip to content

WIP: merge gas bench tool

Ilias Garnier requested to merge metastatedev/tezos:snoop-merge into master

This set of patches contains the gas bench tool. The end goal is to merge it to master, ideally so that it could be ready to use by the time we need it for 008.

However, the short-term goal is to elicit curiosity and discuss important points such as:

  • architecture
  • naming
  • merging strategy
  • missing features (eg perf. regression tests, gas doc generation, etc)
  • ...

At the time of writing, the code lives on a recent version of proto-proposal containing sapling. proto-proposal is still evolving, hence some features are missing and this code is going to move quite a bit,, so please refrain from detailed reviews unless you're ready to do the same work twice. There are also some missing things from the previous version that needs to be backported, most notably the documentation (oldish version available here)

The code is currently structured in the following sub-packages (ignoring sub-sub libraries):

  • lib_benchmark contains generic code to perform benchmarks and fit models
  • proto_alpha/lib_benchmark contains protocol-dependent code useful in writing protocol-specific benchmarks
  • lib_shell_benchmarks aims to be the place where shell benchmarks are implemented
  • proto_alpha/lib_protocol_benchmarks
  • bin_snoop is the benchmark tool binary, tying all the above functionality and allowing to perform plots, generate reports and generate code.

Merge request reports