make / g ++的缓存头文件

时间:2014-01-31 17:35:31

标签: c++ linux caching makefile g++

我正在开发一个大型的C ++代码库,我想加快它的编译时间。我知道的一件事是我的所有库都包含在网络驱动器上,这会减慢很多东西。如果我可以使用make或其他东西来自动缓存它们,无论是在/ tmp还是在ramdisk中,我希望能够为我改进编译时间。有没有办法做到这一点?当然我可以手动复制它们并设置同步作业,但是每个开发人员都必须在他们编译的每个盒子上都这样做,所以我正在寻找一个自动化的解决方案。

谢谢!

2 个答案:

答案 0 :(得分:1)

当然。有很多方法。你可以有一个make规则来复制东西然后让人们运行make copylocal或其他什么。这很快,但人们必须记住这样做,如果库变化很多,这可能会很烦人。您可以创建一个复制内容的规则,然后将其作为其他目标的先决条件,以便首先在每个构建中完成。这将花费更长的时间:复制步骤加上使用本地副本会比仅使用远程副本花费更长的总时间吗?谁知道?

您还可以使用ccache之类的工具在本地缓存编译的结果,而不是复制库标题。这样可以为典型的小型增量构建节省更多成本,并且可以轻松地集成到构建系统中,但它会稍微减慢“重建世界”步骤以缓存对象。

等。你的问题太开放了,不容易回答。

答案 1 :(得分:0)

避免使用网络文件系统代码。使用version control system之类的git

您也可以考虑使用ccache