On Thu Feb 6 03:41:18 2025 +0000, Adam Rehn wrote:
Apologies for the delay in getting the performance numbers back to you, the flooding and resulting network outages that impacted our office slowed things down a bit. Eugene ran some tests with MSVC building the Unreal Engine's `ShaderCompileWorker` target (which contains around 100 C++ source files), and found that on average the build times increased by about 3 seconds from a baseline of around 150 seconds, representing approximately a 2% overhead when unconditionally flushing the cache regardless of whether the mask has changed. It's not a massive difference for a small build target like this one, but given that we expect it to scale with the number of translation units being compiled, it would likely represent a more significant issue for larger compilation jobs.
Thanks Adam & Eugene for taking the time to document this. So yes that's worth the effort of storing the mask for cases that stress the directory cache (compilation being ofc one of them).