crytic / medusa

Parallelized, coverage-guided, mutational Solidity smart contract fuzzing, powered by go-ethereum
https://secure-contracts.com/program-analysis/medusa/docs/src/
GNU Affero General Public License v3.0
306 stars 41 forks source link

perf: cache codehash to speedup coverage tracking #472

Closed samalws-tob closed 2 months ago

samalws-tob commented 2 months ago

This PR adds a cache for getContractCoverageMapHash results, so that the operation doesn't need to be done every opcode. In benchmarks this improves performance by 50%-100%. See also #451