加速Linux程序编译make的方法

昨天在PC上配置了Nvidia TX2的交叉编译环境,make编译了qt-everywhere-opensource-src-5.8.0源码,用时1.5小时,等的黄花菜都凉了。于是在网上搜索是否有提升Linux程序编译速度的方法。这里做个笔记。

以下引用自:李凡希的Blog《加速Linux程序编译》 make -j 部分


CPU是一个影响编译速度的重要因素。

make -j带一个参数,可以把项目在进行并行编译。

比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。

还是用Kernel来测试:

用make: 40分16秒

用make -j4:23分16秒

用make -j8:22分59秒

由此看来,在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。

不过这个方案不是完全没有cost的,如果项目的Makefile不规范,没有正确的设置好依赖关系,并行编译的结果就是编译不能正常进行。如果依赖关系设置过于保守,则可能本身编译的可并行度就下降了,也不能取得最佳的效果。

你可能感兴趣的:(Linux操作系统)