ccache
是一种非常棒的方法,可以通过缓存结果来加速构建您之前已经构建的C二进制文件。(另一个很好的工具是distcc
,它将代码传递给其他机器进行并行编译!)
当npm
使用gyp
构建C文件时,我可以使用ccache
吗?
下面是测试的方法:
$ time npm install mmmagic
...
npm install mmmagic 103.83s user 9.06s system 100% cpu 1:51.84 total
$ rm -rf node_modules/mmmagic
$ time npm install mmmagic
...
npm install mmmagic 103.48s user 8.59s system 102% cpu 1:48.87 total
如果我们可以使用ccache
,它应该在第二次尝试时明显更快。
查看ccache
是否正在被调用以及是否有帮助的另一种方法是,在构建正在进行时在单独的终端中运行此命令:
$ watch -d ccache -s
这将显示ccache
统计数据的实时更新。
您应该能够通过正确设置环境变量来做到这一点。对于C编译器:export CC="ccache gcc"
(或export CC="ccache clang"
)应该工作良好。