← Back to context

Comment by thechao

4 days ago

Sheesh. I've got a multimillion line modern C++ protect that consists of a large number of dylibs and a few hundred delivered apps. A completely cache-free build is an only few minutes. Incremental and clean (cached) builds are seconds, or hundreds of milliseconds.

It sounds like you've got hundreds of millions of lines of code! (Maybe a billion!?) How do you manage that?

It’s a few million lines of c++ combined with content pipelines. Shader compilation is expensive and the tooling is horrible.

Our cached builds on CI are 20 minutes from submit to running on steam which is ok. We also build with MSVC so none of the normal ccache stuff works for us, which is super frustrating

I have 15 million lines of C++, and builds are several hours. We split into multi-repo (for other reasons) and that helps because compiling is memory bandwidth limited - on the CI system by we can split the different repos to different CI nodes.