medusa icon indicating copy to clipboard operation
medusa copied to clipboard

Medusa vs Echidna gas usage

Open rappie opened this issue 1 year ago • 5 comments

Medusa's gas usage metrics seem to be higher than Echidna.

I'm testing this using:

        uint256 gasBefore = gasleft();
        doSomething();
        fl.log("gas used", gasBefore - gasleft());

Here's an example output for the same function call with a complex state:

  • Echidna: 688957
  • Medusa: 716057

There is also the possibility that somehow the state is built different due to small differences between medusa/echidna's setup or initial values. I'm trying to have everything exactly the same, like setting block number/timestamp to 1 before deploying anything.

Is this a known issue? Any tips for debugging?

rappie avatar Oct 21 '24 12:10 rappie

I'm not sure gas usage in hevm is very precise. I think medusa should give a more realistic estimation compared to geth.

gustavo-grieco avatar Oct 21 '24 12:10 gustavo-grieco

Are you using any cheatcodes as part of doSomething? I'm not sure how they're priced in medusa, but that might be different.

elopez avatar Oct 21 '24 13:10 elopez

I'm not using any cheatcodes. I'm trying to keep it as clean as possible.

It's a pretty straightforward function that just does a lot, based on a complex state. Things like looping over arrays, calculating shares, transfering tokens, etc.

rappie avatar Oct 21 '24 14:10 rappie

I'm debating whether or not to do a more precise benchmark, and also including Foundry. Would this be helpful? Or is this information already available somewhere?

rappie avatar Oct 21 '24 14:10 rappie

Here are the benchmark results:

  • Echidna: 592767
  • Medusa: 601767
  • Foundry: 601817

Looks like Medusa is very accurate (assuming Foundry is accurate).

Repo: https://github.com/rappie/fuzzer-gas-metric-benchmark

Any feedback is welcome :)

rappie avatar Oct 22 '24 19:10 rappie

I think this one can be closed, if I recall correctly @elopez fixed the gas calculation in Echidna.

rappie avatar Nov 24 '25 20:11 rappie