zoukankan      html  css  js  c++  java
  • make -j 8参数的作用

    今天在编译安装一个源码包的时候,不小心看到一个make -j 8的参数,make命令常见用来进行编译的,编译完成后执行make install进行安装,可是-j 8 是用来做什么的?
    用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。
    还是用Kernel来测试:
    用make: 40分16秒
    用make -j4:23分16秒
    用make -j8:22分59秒
    由此看来,在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。
    不过这个方案不是完全没有cost的,如果项目的Makefile不规范,没有正确的设置好依赖关系,并行编译的结果就是编译不能正常进行。如果依赖关系设置过于保守,则可能本身编译的可并行度就下降了,也不能取得最佳的效果。

  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309223.html
Copyright © 2011-2022 走看看