对于大型项目,在使用 cmake 控制编译时,仅仅执行 make 指令效率较低,使用 make -j
后面跟一个数字,比如 make -j4
make -j6
make -j14
等。
含义是 让 make 最多允许 n 个编译命令同时执行,这样可以更有效的利用 CPU 资源。
假设我们的系统是 CPU 是12核,在不影响其他工作的情况下,我们可以 make -j12
将 CPU 资源充分利用起来,一般来说,最大并行任务数为 cpu_num * 2
cpu_num=`cat /proc/stat | grep cpu[0-9] -c`
echo "make -j${cpu_num}"
make -j${cpu_num}
网友评论