Hotspots in the benchmark.
planetis-m opened this issue · 1 comments
planetis-m commented
From the benchmark's results for our custom mutator from left to right, about:
- 15% of the time is spent in deserializing the input.
- 11% serializing the mutated input.
- 36% running myMutator
- 20% initRand
Aggregated costs of running important procs:
- 1.4% byteSize
- 3% sample
- 1% running eqeq (that's seq's
==
) - 9% copying the selected item before mutation.
- 10% rand()
- 20% mutateSeq
- postProcess doesn't appear anywhere.
Reproduce: Benchmark runs with -d:fuzzerStandalone
and --mm:arc
planetis-m commented
Note: According to LibFuzzer's interface: "Should produce the same mutation given the same seed." This applies to minimizing where the crash input is given a different seed each mutation. So I don't know if optimizing rand out is possible.