linux cmake增量编译,如何加快我的CMake C++项目的编译时间?
我偶然发现了几个关于改进CMake C++项目周转时间的SO问题(如"At what level should I distribute my build process?"或"cmake rebuild_cache for just a subdirectory?"),我想知道是否有利用CMake提供的特定可能性的更一般的指导。如果可能没有跨平台编译时优化,我主要对基于Visual Studio
我偶然发现了几个关于改进CMake C++项目周转时间的SO问题(如"At what level should I distribute my build process?"或"cmake rebuild_cache for just a subdirectory?"),我想知道是否有利用CMake提供的特定可能性的更一般的指导。如果可能没有跨平台编译时优化,我主要对基于Visual Studio或GNU toochain的方法感兴趣。如何加快我的CMake C++项目的编译时间?
而且我已经了解并投资进入一般建议方面加快C++构建:
更改/优化/微调工具链
优化你的代码库/软件体系结构(例如,通过减少的依赖关系,并使用良好定义的子项目 - 单元测试)
投资在一个更好的硬件(SSD,CPU,存储器)
like like recommended here,here or here。所以我在这个问题上的重点是第一点。
另外,我知道的建议中的CMake的Wiki上找到:
前者只处理基本知识(并行make),后来把手大多是如何加快解析CMake文件。
只是为了使这个多一点具体的,如果我从使用MSYS/GNU here 100库我得到了以下time测量结果我的CMake的例子:
$ cmake --version
cmake version 3.5.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ time -p cmake -G "MSYS Makefiles" ..
-- The CXX compiler identification is GNU 4.8.1
...
-- Configuring done
-- Generating done
-- Build files have been written to: [...]
real 27.03
user 0.01
sys 0.03
$ time -p make -j8
...
[100%] Built target CMakeTest
real 113.11
user 8.82
sys 33.08
所以我有一个总的〜 140秒,我的目标 - 这个公认的非常简单的例子 - 就是将其降低到标准设置/工具的10-20%。
2016-05-19
Florian
更多推荐
所有评论(0)