I tested this by changing the Dockerfile to use ubuntu:22.04 and running the example harness and confirming that coverage still works (it finds the crash). Ubuntu 22.04 currently uses clang 14.0.0, so we're able to say we've tested clang back a bit further now.
Originally I chose calling setup instead of start because I thought the performance characteristics would be better. setup appears to configure, but not fully enable coverage gathering, whereas start does both. Since Ruzzy doesn't need the builtin coverage information (we're adding our own hook), I thought performance would be better without the unnecessary builtin coverage hooks. But, you know what they say: make it work, make it correct, make it fast. I also didn't have any benchmarks to confirm this hypothesis, so who knows how this actually affected performance 🤷
I tested this by changing the Dockerfile to use
ubuntu:22.04
and running the example harness and confirming that coverage still works (it finds the crash). Ubuntu 22.04 currently uses clang14.0.0
, so we're able to say we've tested clang back a bit further now.Originally I chose calling
setup
instead ofstart
because I thought the performance characteristics would be better.setup
appears to configure, but not fully enable coverage gathering, whereasstart
does both. Since Ruzzy doesn't need the builtin coverage information (we're adding our own hook), I thought performance would be better without the unnecessary builtin coverage hooks. But, you know what they say: make it work, make it correct, make it fast. I also didn't have any benchmarks to confirm this hypothesis, so who knows how this actually affected performance 🤷