什么时候使用ccache?

时间:2012-04-13 07:19:20

标签: ccache

据我所知,ccache通过捕获以前的编译并检测何时再次进行相同的编译来加速编译。 但是,makefile做同样的事情。 那为什么我们需要ccache? 我们什么时候使用它? 谢谢!

2 个答案:

答案 0 :(得分:5)

来自http://ccache.samba.org/

  

如果您曾经运行make clean; make,您可能会从中受益   ccache的。开发人员通常会对项目进行干净的构建   出于各种原因,这会抛弃所有信息   来自您以前的编辑。通过使用ccache,重新编译   更快。

     

使用ccache的另一个原因是相同的缓存用于构建   在不同的目录中。如果您有多个版本或分支   存储在不同目录中的软件,许多目标文件   在构建目录中,即使它们也可以从缓存中获取   是为另一个版本或分支编译的。

     

第三种情况是使用ccache来加速执行的清理构建   服务器或构建农场,定期检查代码是什么   可构建的。

     

您还可以在用户之间共享缓存,这非常有用   在共享编译服务器上。

答案 1 :(得分:3)

除了加速构建系统破坏所需的干净构建的可疑好处,以及拥有共享缓存的偶然好处之外,即使对于基于隔离的完美基于mtime的构建系统,也存在合法使用ccache:

当你在分支机构之间来回跳转(不是在谈论单独的目录)或者重新定位时,你最终会触及一大堆文件,或者如果你运气不好,那就是一个中央标题(比如 define.h )包含在所有地方,你完美无瑕的基于mtime的构建系统将尽职尽责地重建一切。如果你在过去的某个时间建立了大部分相同的状态,那么ccache将加速重建。