This will help for determining performance. We keep track of gas consumption after each transaction call, rather than after each instruction: hevm handles the bookkeeping at the instruction level. Should have a very minimal effect on performance, since hevm already keeps track of gas consumption strictly: burned :: !(Gas t) (hevm/src/EVM/Types.hs:620).
I'm unsure whether we should be keeping track of totalGas as an Int or as hevm's native Gas type. One way or another we need to cast to a different type to display it onscreen. In any case this choice is only a minor issue
This will help for determining performance. We keep track of gas consumption after each transaction call, rather than after each instruction: hevm handles the bookkeeping at the instruction level. Should have a very minimal effect on performance, since hevm already keeps track of gas consumption strictly:
burned :: !(Gas t)
(hevm/src/EVM/Types.hs:620).I'm unsure whether we should be keeping track of totalGas as an Int or as hevm's native Gas type. One way or another we need to cast to a different type to display it onscreen. In any case this choice is only a minor issue