logoalt Hacker News

js4everyesterday at 10:38 PM1 replyview on HN

This makes absolutely no sense to me. Are you really recompiling 6000 things each time a dev in the company needs to add a line somewhere in the codebase? Have you thought about splitting that giant thing in smaller chunks?


Replies

jjmarryesterday at 10:53 PM

> Are you really recompiling 6000 things each time a dev in the company needs to add a line somewhere in the codebase?

It happens when someone modifies a widely included header file. Which there are a lot of thanks to our use of templates. And this is just our small team of 300 people.

> Have you thought about splitting that giant thing in smaller chunks?

Yes. We've tried but it's not scaling. Unfortunately, we've banned tactics like pImpl and dynamic linking that would split a codebase unless they're profiled not to be on a hot path. Speed is important because I'm writing tests for a semiconductor fab and test time is more expensive than any other kind of factory on Earth.

I tried stuff like precompiled headers but the fact only one can be used per compilation job meant it didn't scale to our codebase.

show 1 reply