-
Type:
New Feature
-
Resolution: Won't Fix
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
DevProd Build
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
Other makefile generators (like CMake, via a CMAKE_UNITY_BUILD option) or products like Google Chromium (with an option use_jumbo_build) have a compilation mode where multiple files (up to 200) are compiled by means of a single compilation unit whose content is:
#include "file1.cpp" #include "file2.cpp" ... #include "file200.cpp"
This improves the build time by avoiding the startup of the compiler N times, and linking has to work with less .obj files. Even when the user modifies a single file and the compilation has to process many more files, the reduced link time offsets the extra time spent in the compilation (and in any case this penalty can be compensated by tweaking the number of bundled files)