Enable release mode on dune by default
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 theDevelopment Version
section ofCHANGES.md
(only for new features and bug fixes).
Reviewers
Edited by Eduardo RFS