【问题标题】:ccache cache miss slow down compilation a lotccache 缓存未命中会大大降低编译速度
【发布时间】:2016-10-29 15:13:06
【问题描述】:

刚开始使用基于this tutorial 的ccache,到目前为止我喜欢它。但是,缓存未命中非常慢。这是我的结果:

Regular clean build without ccache : 1m40s
First build with ccache : 4m36s
Second build with ccache : 30s

我不确定从哪里开始调试。性能页面 (https://ccache.samba.org/performance.html) 提到了 make 文件的复杂性会降低编译速度,但在这种情况下,我使用 Xcode,因此调用 ccache 应该相对较快。我预计性能会有所下降,但不会这么多!

我目前的设置使用的是 3.2.5 版本:

export CCACHE_MAXSIZE=3G
export CCACHE_HARDLINK=true
export CCACHE_SLOPPINESS=pch_defines,file_macro,time_macros,include_file_mtime,include_file_ctime,file_stat_matches

请注意,我确实使用了 pch,如果它改变了一些东西的话。

【问题讨论】:

  • 你的 ccache 目录在哪里?我猜您的 ccache 目录位于远程(例如 nfs)上并导致性能下降。
  • 它在我的主目录中,所以这不是问题。

标签: c++ ios xcode performance ccache


【解决方案1】:

您可以运行命令“ccache -s”查看统计信息。

从这个 ccache 错误线程 https://github.com/ccache/ccache/issues/54 末尾的实验中,尝试减少使用的并行内核编译器可能会有所帮助,来自多个进程的文件锁定可能是根本原因。

【讨论】:

  • 我可以在统计数据中看到没有错。将尝试减少并行内核的数量并报告!
  • @gcamp,你能解决这个问题吗?对于 3,500 个文件的项目,减少并行内核的数量似乎不是一个好主意。
猜你喜欢
  • 2010-12-12
  • 2014-06-19
  • 1970-01-01
  • 2022-08-06
  • 1970-01-01
  • 2020-08-10
  • 2016-08-22
  • 1970-01-01
  • 2020-04-21
相关资源
最近更新 更多