Performance ccache的缺点

Performance ccache的缺点,performance,gcc,compilation,ccache,Performance,Gcc,Compilation,Ccache,我正在使用ccache进行实验,但我不太确定是否应该使用它。有人能解释一下ccache会导致错误行为的情况吗。还是我们应该一直使用ccache?任何人如果发现ccache生成了错误的对象文件或头文件中的更改,都不会被考虑?在使用ccache时,我几乎从来没有遇到过任何问题。有时(例如,一个月一次或更少),我会用ccache-C彻底清理它的缓存 与ccache相比,我对复杂的Makefile-s有更多的问题 简而言之,不必麻烦,当你怀疑某事时,只需运行ccache-C 在对编译时间进行基准测试时,

我正在使用ccache进行实验,但我不太确定是否应该使用它。有人能解释一下ccache会导致错误行为的情况吗。还是我们应该一直使用ccache?任何人如果发现ccache生成了错误的对象文件或头文件中的更改,都不会被考虑?

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

ccache
相比,我对复杂的Makefile-s有更多的问题

简而言之,不必麻烦,当你怀疑某事时,只需运行
ccache-C

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

附录
我认为,
ccache
至少应该可以配置为使用GCC插件禁用编译缓存,因为GCC插件可以做任何不可缓存的事情(例如查询数据库或web服务)。请参阅。

您通过询问错误的行为来很好地表达您的问题

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


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

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

环境设置 事实证明,ccache要求在环境中设置$HOME变量,而SCons在默认情况下不设置它(默认情况下,SCons有尽可能将生成与环境隔离的策略)

我不完全确定这是ccache的问题,还是仅仅是与SCON的互操作。除了这个怪癖,我从来没有和卡切有过任何麻烦

SSD磨损
我养成了将~/.ccache链接到tmpfs的习惯,以避免不必要地佩戴SSD。显然,这不是ccache的问题,因为没有它,情况会更糟。(请记住)

说不应该有任何错误行为,如果有人知道,他应该报告,而不是回答StackOverflow上的问题。当然。谢谢,我应该使用更新的ccache并继续查找未处理的现有报告错误,以了解可能存在的错误。谢谢您的建议…:-)。顺便问一下,当你有时遇到问题时,会出现什么情况?因为当我们遇到问题的时候,很难得到它是因为ccache而来的线索。还有,当你遇到问题时,“ccache-c”是绝对的解决方案,那么ccache肯定有问题。不,我强烈怀疑Makefile-s中存在假设问题。在MELT中,我的Makefile-s有缺陷(对于部分重建,GCC Makefile-s可能也不完整)。再一次,我从来没有怀疑过ccache做错了。
ccache
如果一个坏的
Makefile
忘记运行编译命令,不管有没有
ccache
你都会遇到麻烦。