zoukankan      html  css  js  c++  java
  • make j* make j4 make j8 区别

    转载:

    make -j4是什么意思
    看书上说
    1) make(1)只衍生一个作业//作业是什么意思?make(1) 是不是就是make的意思?
    2) 在双处理器上make -j4,难道是让每个处理器跑两个作业?那和make -j2效率相比 难道不是一样的?


    新手提问 多多关照

    ------解决方案--------------------
    make(1)表示在unix手册(man)的第一章,可以用 man 1 make 来查看。

    两个处理器的话,一般 -j2 能达到最高效率。
    不过也有些进程会花时间在IO上,并不能利用完单个cpu的时间。这样 -j4 可以更快。 
    ------解决方案--------------------
    jobs=4
    同时最多跑4个作业
    make自己会协调,如果CPU等资源不够可能小于4个。不过一般瓶颈都在硬盘,所以一般能看到4个进程一起跑。 
    ------解决方案--------------------
    启用4个cpu去编译。提高编译速度。 
    ------解决方案--------------------

    感觉指的是逻辑线程数,和CPU无关,逻辑线程具体跑在哪个逻辑CPU上应该是由内核决定的。make说白了也只是个程序而已。

    ========================================

    make(gmake,gnumake)的-j参数,优化多核、多线程的编译过程

    一直以为,现在主流的程序,比如apache2.2,编译过程自动会对多核优化 结果发现不是这样的

    测试环境:默认./configure无参数后的apache2.2.14源码根目录

    测试方法:使用以下命令,粗略记录编译过程时间。 $ date >> /qshen/time && make && date >> /qshen/time

    对比与加了-j参数的make的编译时间

    查阅资料,网上很多人用双路INTEL XEON E5404测试时使用参数-j16,使用单路E5405测试使用参数-j8。这个不太理解。因为E5405是四核心,每核心1线程,不知为何要使用二倍的jobs。在此也实际测试

    我的测试环境CPU是INTEL XEON E5405,单路。8G内存。 首先,不带-j的命令执行2次

    然后,使用-j4执行二次

    再然后,使用-j8执行二次

    最后使用-j16执行一次作为参考数据

    结果:共计执行

    $ cat /qshen/time Mon Feb 1 12:51:17 CST 2010 Mon Feb 1 12:52:55 CST 2010
    Mon Feb 1 12:53:29 CST 2010 Mon Feb 1 12:55:07 CST 2010
    Mon Feb 1 12:55:34 CST 2010 Mon Feb 1 12:56:14 CST 2010
    Mon Feb 1 12:56:37 CST 2010 Mon Feb 1 12:57:16 CST 2010
    Mon Feb 1 12:57:38 CST 2010 Mon Feb 1 12:58:16 CST 2010
    Mon Feb 1 12:58:36 CST 2010 Mon Feb 1 12:59:13 CST 2010
    Mon Feb 1 12:59:48 CST 2010 Mon Feb 1 13:00:26 CST 2010 结果发现,确实默认的make不加-j参数效率比较低。加上-j参数,-j4和-j8性能差距不大,-j16性能就比较差了。准备进一步翻阅资料看看到底应该取值多少。

  • 相关阅读:
    【POJ2176】Folding
    【NOIP2018】赛道修建
    优雅的文本编辑器——Sublime Text 3的搭建与使用
    【NOIP2010】乌龟棋
    【POJ3585】Accumulation Degree
    【POJ3322】Bloxorz I
    python之路_常用模块介绍
    python之路_正则表达式及re模块
    python之路_内置函数及匿名函数
    python之路_递归函数及实例讲解
  • 原文地址:https://www.cnblogs.com/baiduboy/p/6568289.html
Copyright © 2011-2022 走看看