I do not want to distract attention from the issue of "last access time", but there may be other ways to speed up your builds. Not knowing the context and settings of your project, it's hard to say what can be slow, but there may be some things that can help:
Create the "uber" assemblies. That is, create a single compilation uber.cpp file that contains a bunch of lines like
#include "file1.cpp" #include "file2.cpp"
You may have problems with conflicting static variable names, but they are usually easy to understand. The initial setup is pain, but assembly time can increase dramatically. For us, the biggest drawback is that in the development studio you cannot right-click on a file and say โcompileโ if this file is part of the uber assembly. But it is not important. We have separate build configurations for "uber" builds that compile uber files but exclude individual cpp files from the build process. If you need more information, leave a comment, and I can understand this for you. In addition, the optimizer tends to do a slightly better job with uber builders.
Also, do you have a large number of included files or many restrictions between include files? If so, this will significantly reduce assembly time.
Do you use precompiled headers? If not, you can look at this as a solution will also help.
Slow build time is usually tracked to a large number of file I / O. This is by far the biggest time it takes to build - just opening, reading and analyzing all the files. If you reduce file input / output, you will improve build time.
In any case, I'm sorry, I approached the topic a little bit, but the proposal to change how the file access time was set recently seemed to be the solution to the โsledgehammerโ.
Mark
source share