Don't Use include-what-you-use
danra.prose.sh
danra.prose.sh
Even if you don't see an immediate benefit in CI times, it may still be a good idea to clean up unnecessary includes.
13 April 2011
Work has been continuing at a furious pace on include-what-you-use. It's definitely beta quality by now. :-) Well, early beta.
These are all criticisms of your own codebase, IWYU is just pointing out the issues. Some of the criticisms are probably legitimate, but hard to tell when so many are so odd.
I haven't used IWYU in years. It's an ok idea but I have bigger fish to fry, and including everything you reference is kinda verbose. What I do is I include anything particular to the current cpp file, and let everything else be indirect. If it someday breaks the build when I change includes upstream, I'll fix it. That takes less time than maintaining IWYU stuff IMO.
Of course if you are writing headers, you really ought to be more careful and include more stuff, if it's fast enough at compile time. It's stupid to have to include a header and then have to include a separate header with primitive types or something before you can do anything.
https://www.figma.com/blog/speeding-up-build-times/
I'm surprised TFA didn't see any improvement though. It makes me wonder if there's bigger opportunities with the build graph shape preventing them from getting optimal incremental rebuilds.