【问题标题】:CMake install very slow, but much faster with ccacheCMake 安装速度非常慢,但使用 ccache 安装速度要快得多
【发布时间】:2022-01-02 02:53:22
【问题描述】:

所以我发现我在安装时使用 CMake 构建的速度非常慢。特别是一个软件包需要大约 1:20 分钟的时间来构建和大约 1:40 的安装时间。

它没有安装 TB 的数据,安装只是移动一些文件,所以我想知道为什么它这么慢。

现在我发现,如果我使用 ccache 构建,我的构建时间会更快即使使用冷缓存

现在我查看了安装时间,包的安装时间缩短到了约 40 秒。考虑到 CMake 仅复制约 50MB,但速度比以前快得多。

这怎么可能?使用 ccache 解决的文件是否存在某种争用?

【问题讨论】:

  • 80 秒构建和 100 秒安装:似乎您正在构建项目的某些部分,或者您构建的部分不是原始构建的一部分。您是否使用多配置 cmake 生成器并构建 2 个不同的配置?也许您可以进行详细的构建/安装并检查是否确实存在在安装时重新构建的文件...
  • 我正在使用 catkin,天知道下面的 cmake 是什么。

标签: cmake ccache


【解决方案1】:

如果 CMake 只是移动文件,ccache 不可能改善问题,因为它只是作为编译器调用。

您可能会发现安装阶段实际上正在重建整个包,因此ccache 正在帮助您,因为即使您开始冷,构建阶段也会填充缓存,然后当安装尝试再次重建所有内容,它会命中缓存。

您可以尝试完全跳过构建步骤。只需说 cmake --build install 并让它理清在安装之前需要发生的事情。

【讨论】:

  • 谢谢,我使用的是位于cmake之上的catkin,所以我不知道如何直接调用cmake --build install。但如果这是我假设 catkin 只是重建的正常行为。
猜你喜欢
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
相关资源
最近更新 更多