因此,在安装时,我发现CMake的构建速度非常慢。其中一个包的构建时间约为1:20分钟,安装时间约为1:40。
它不是安装terrabytes的数据,安装只是四处移动一些文件,所以我想知道为什么它这么慢。
现在我发现,如果我使用ccache
进行构建,即使使用冷缓存,我也可以获得更快的构建时间。
现在我看了一下安装时间,软件包的安装时间降到了大约40秒。还有很多考虑到CMake只复制了大约50MB,但比以前快得多。
这怎么可能?在使用ccache解决的文件上是否存在某种争用?
如果CMake只是四处移动文件,ccache
不可能改善问题,因为它只是作为编译器调用的。
您可能会发现,安装阶段实际上正在重建整个软件包,因此ccache
对您有帮助,因为即使您以冷启动,构建阶段也会填充缓存,然后当安装尝试再次重建所有内容时,它会命中缓存。
您可以尝试完全跳过构建步骤。只需说cmake --build install
,让它在安装之前解决需要发生的事情。