代码之家  ›  专栏  ›  技术社区  ›  mmonem

加速GNU生成过程-并行性?

  •  6
  • mmonem  · 技术社区  · 15 年前

    我经常构建一个巨大的项目,这需要很长的时间(超过一个小时)才能完成,即使在配置预编译的头文件之后。他们是否有任何指导方针或技巧允许并行工作(例如,在后台启动gcc等)以允许更快的构建?

    注意:源文件和二进制文件太大,无法放在RAM文件系统中,我不想更改目录结构或构建原理。

    4 回复  |  直到 11 年前
        1
  •  4
  •   JesperE    15 年前

    make -jN 现在大多数机器都是多核的,这是必须的。如果你不想写 -jN 每次,你可以

    export MAKEFLAGS=-jN
    

    在你 .bashrc .

    您可能还想结账 distcc .

        2
  •  5
  •   rubenvb    11 年前

    你可以试试

    make -j<number of jobs to run in parallel>
    
        3
  •  4
  •   MaxVT    15 年前

    如果您的项目对于一台机器来说太大了,您可以使用一个分布式make替换,例如 Electric Cloud .

        4
  •  0
  •   brokenfoot    11 年前

    如果要并行运行构建,

    make -jN
    

    完成任务,但请记住:

    1. N 应该等于 maximum number of threads your machine supports ,如果输入的数字大于, make 自动生成 N=maximum number of threads your machine supports
    2. 制作 不支持并行生成使用 -jN 在里面 MSDOS 它只是做一个序列构建。如果您指定- jN ,它将降级 N=1 .

    在这里阅读更多,从 制作 来源: http://cmdlinelinux.blogspot.com/2014/04/parallel-build-using-gnu-make-j.html

    推荐文章