什么是ccache?您能提供一些指导,说明何时使用它来构建比特币核心PRs以及如何使用它?
比特币核心开发
BitConcore审查
隐藏物
分享
改进这个问题
跟随
1小时前编辑
20年9月18日14:40询问
迈克尔·福克森
582077银牌2222铜牌
添加评论
2个答案
1
工具ccache帮助存储中间编译结果,因此如果经常更改分支并重新构建,它可以显著加快这样做。
要使用它,您需要为平台安装ccache。就这样。比特币核心配置脚本将检测到它的存在,并自动使用它。
分享
改进这个答案
跟随
于20年9月19日1:29答复
皮耶特·乌维尔
67.7k88金徽章S146146银徽章2222222青铜徽章
添加评论
0
ccache是编译器缓存。
它通过缓存以前的编译和检测何时再次执行相同的编译来加快重新编译。
与dbcache不同,决定分配多少ccache并没有那么关键。比特币核心生产力文档建议您将类似的内容放入~/.ccache/ccache.conf:
最大值=50.0Gා或您喜欢的任何缓存大小;默认值为5G;0表示无限
baseŠdir=/home/yournameා或保存源文件的任何地方
注意:ccache需要base_udir在不同的存储库/路径上共享同一文件的缓存编译;它只会对基本目录下的路径执行此操作。因此,为了有效地使用带有git工作树的ccache,需要使用此选项。
您不能将base_udir设置为“/”,也不能将包含系统标头的任何位置(根据ccache文档)。
使用ccache似乎没有任何明显的缺点。但在ccache网站上有几个警告。
编译器是移动的目标。较新的编译器版本可能,而且经常会引入ccache无法预见的特性。
和
最快的模式(“直接模式”)有一个角落的情况下,可能会导致误报缓存命中。
一般来说,尽管看起来你可以安装它(正如Pieter所说),然后忘记它,这将节省你编译比特币核心PRs的时间。
有关加快C++编译的其他信息,请参见Martin Ho的优秀博客文章řeň奥夫斯克ý.