https://www.amazon.com/Large-Scale-Software-Design-John-Lako...
Bullshit. Code needs to be compiled, but it isn't required to build everything from scratch whenever someone touches a source file.
Additionally, not all code is located in any hot path.
Except for C++, where a tiny change in a single object will require recompiling every file that transitively includes that object's header.
PIMPL, forward declarations, pre-compiled headers, binary libraries are all tools to reduce such dependencies.
I suppose you could have some extra aggressive optimizations that force inlining, but I haven't seen a need for this, even in game dev.
Generally, I find when people crow about performance, the product they're talking about usually has some questionable architectural/design/implentation decisions that dominate the performance issues so I have to do my best not to roll my eyes.
Yes, you can write performant C++ using well-understood compiler firewalls, interfaces, etc that reduce your compile time.
People very rarely has any clue about this at all.
If a few hundred or few thousand people each have to build Chrome from scratch a couple times, and making their compilation process much slower makes each of a trillion pageviews a millisecond faster...the break-even point seems to be about a 27 hour build time sacrifice.
They're relying on the compiler working its magic to make non-hand-optimized code run pretty fast. That's fine, but it requires you to expose a lot of stuff in headers and that slows down compilation.
I'm fairly sure, like other commenters, that they could speed up compilation a lot and impact performance very little by carefully modularizing their header files. But that's a really big job.
[1] http://sbel.wisc.edu/Courses/ME964/Literature/knuthProgrammi...