Linux中有没有可用的软件可以编译包含多核或分布式系统上并行大量文件的源代码。像gcc或xserver这样的库在单核/双机上花费大量时间进行编译,并且在大多数情况下,当您需要大量重新编译时,它们令人沮丧。有什么技术可以并行编译这些源代码?
在分布式内存系统上,可以使用distcc将编译作业分配给其他计算机。这需要一些设置,但是如果碰巧有一些额外的机器,它确实可以加快构建速度。
在共享内存多核系统上,您只能使用make -j,它将尝试根据您的makefile中的依赖项来生成构建作业。您可以这样运行:
make -j
$ make -j
这不会对产生的作业数量施加任何限制,或者您可以使用整数参数运行:
$ make -j8
这将限制并发构建作业的数量。在此,限制为8个并发作业。通常,您希望它与系统上的内核数量接近。