scilla
scilla copied to clipboard
Implement a profiling monad
To figure out how time is being spent in different sections of Eval
, implement a monad for Eval
.
In principle, we should be able to piggyback on the gas monad, or, better, engineer a similar one and instantiate the interpreter in Eval with it, for which it will need to be made into a monad-parameterised functor, to measure the timing of operations. This is easy since now every call to built-in, literal construction, or a reduction is a point-cut in the evaluator machinery (that’s where gas is computed).
@ilyasergey do we need this? considering that we can just use a profiler tool?