首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多核或分布式系统上编译程序

在多核或分布式系统上编译程序
EN

Stack Overflow用户
提问于 2009-12-28 01:30:35
回答 3查看 18.7K关注 0票数 18

linux中有没有软件可以在多核或分布式系统上并行编译包含大量文件的源代码。像gcc或xserver这样的库在单核/双机上编译需要非常长的时间,而且大多数时候,当你需要大量重新编译时,这是令人沮丧的。有没有可以并行编译这类源代码的技术?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-28 01:33:12

在分布式内存系统上,您可以使用distcc将编译作业外包给其他机器。这需要一些设置,但如果您周围碰巧有一些额外的机器,它可以真正加速您的构建。

在共享内存多核系统上,您可以只使用make -j,它将尝试根据makefile中的依赖项生成构建作业。你可以像这样运行:

代码语言:javascript
复制
$ make -j

这将不会对衍生的作业数量施加限制,或者您可以使用整数参数运行:

代码语言:javascript
复制
$ make -j8

这将限制并发构建作业的数量。在这里,限制为8个并发作业。通常,您希望该值接近系统上的核心数量。

票数 31
EN

Stack Overflow用户

发布于 2009-12-28 02:33:20

也可以使用ccache来加速编译过程

票数 4
EN

Stack Overflow用户

发布于 2009-12-28 01:33:12

GNU make (安装在Linux系统上的标准make )支持并行命令执行--看看http://www.gnu.org/software/make/manual/make.html#Parallel

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1966479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档