Skip to content

Enable release mode on dune by default

Eduardo RFS requested to merge marigold/tezos:@eduardorfs/dune-release into master

Context

This is a performance improvement for the Michelson interpreter and typechecker, by default dune runs in development mode, which includes things like -opaque disabling any implementation based optimization.

To disable this during development make DUNE_PROFILE=dev can be used

Benchmarks

I made some benchmarks using tezos-snoop and fact, just by enabling profile=release overall the results are ~35% improvement on mean time. On the full pipeline the results are not that impressive with this alone, but when combined with flambda, we can get boosts of up to ~20%.

https://gist.github.com/EduardoRFS/64731f087dd12399ec9b0925617d3b97

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Provide automatic testing (see the testing guide).
  • Add item in the Development Version section of CHANGES.md (only for new features and bug fixes).

Reviewers

@yrg

Edited by Eduardo RFS

Merge request reports