Add benchmarks
Clarification and motivation
It's a good practice to have benchmarks for your code. And since our code is mostly pure, adding benchmarks to it should be quite easy. I propose to start with benchmarking the following functionality:
- Parsing contracts.
- Typechecking contracts.
- Interpreting contracts in isolation (i. e. without updating GState and potentially calling other contracts).
Acceptance criteria
- There should be a benchmark which reports how much time it takes to parse some contracts, typecheck some contracts and interpret some contracts in isolation.
- CI should execute this benchmark and display its result somehow.