c++ - ccache 缓存未命中会减慢编译速度

标签 c++ ios xcode performance ccache

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

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 -s”来查看统计数据。

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

关于c++ - ccache 缓存未命中会减慢编译速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056780/

相关文章:

ios - 如何使用 loginViewFetchedUserInfo 获取用户电话号码?

ios - 'mapView(_:viewFor:)' 的重新声明无效

c++ - 访问所有点的最短时间 : Understanding

c++ - 循环内局部对象的析构函数是否保证在下一次迭代之前被调用?

ios - ios 的 Pwinty api

iPhone Tesseract 库错误

iOS 预构建操作以根据 Scheme 更改 plist 值

C++ 风格从 unsigned char * 转换为 const char *

c++ - 将函数指针绑定(bind)到 boost::function 对象

ios - Travis-CI:适用于 iOS、OSX、tvOS 和 watchOS 的多种方案