首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ccache的缺点

ccache的缺点
EN

Stack Overflow用户
提问于 2011-12-19 02:45:46
回答 3查看 3.1K关注 0票数 6

我正在使用ccache进行实验,但我不太确定是否应该使用它。有没有人能解释一下ccache会导致错误行为的情况。或者我们应该一直使用ccache?任何得到ccache的人都会产生错误的目标文件,或者没有考虑对头文件进行更改?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-19 04:07:11

我在使用ccache时几乎从来没有遇到过任何问题。有时(例如一个月一次甚至更少),我会用ccache -C完全清理它的缓存。

我使用复杂的Makefile-s比使用ccache有更多的问题。

简而言之,不必费心,当您怀疑什么时,只需运行ccache -C即可。

显然,在对编译时间进行基准测试时,应该避免使用ccache。(在这种情况下,可以将-time-ftime-report传递给gccg++ )。

附录

我的观点是,ccache至少应该可以配置为使用GCC插件禁用编译时的缓存,因为GCC插件可以做任何不可缓存的事情(例如查询数据库或not服务)。参见this message

票数 9
EN

Stack Overflow用户

发布于 2011-12-19 22:28:43

您通过询问错误的behavior很好地表达了您的问题。

如果使用不当,ccache的错误行为可能会减慢编译速度。ccache必须扫描文件才能识别过去的编译,因此使用ccache进行实际编译要比不使用ccache慢。只有缓存命中才更快。

当您频繁地重新编译相同的代码而不修改它时,ccache非常有用。它不会加快新代码或修改过的代码的编译速度。

票数 4
EN

Stack Overflow用户

发布于 2011-12-19 22:33:48

我曾经遇到过通过ccache (符号链接方法)进行SCons编译的问题。

环境设置

事实证明,ccache需要在环境中设置$HOME变量,而SCons在默认情况下并不设置该变量(SCons的默认策略是尽可能地将构建与环境隔离)。

我不能完全确定这是ccache的问题,还是仅仅是与SCons的互操作。除了这个怪癖之外,我在ccache上从来没有遇到过任何问题。

固态硬盘磨损

我已经养成了将~/.ccache链接到tmpfs的习惯,以避免不必要地使用我的SSD。显然,这不是ccache的问题,因为如果没有ccache,情况会更糟。(只需要记住一些事情)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8553928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档