Both clang and gcc max out near perfectly at 100% cpu usage for the threads I give them, so I wonder what exactly the culprit is. Maybe it's something to do with header files? They're essentially processed many many times, but maybe they allow for better parallelization. Idk