改进gcc构建时间

改进gcc构建时间,gcc,d,Gcc,D,我正在尝试改进GCC(GDC)的D前端 我刚刚得到了用GCC-4.3.1编译的d前端。但与我使用GCC-4.1.2时构建它相比,它花费了非常长的时间。这是gdc的版本: 使用内置规格 目标:i686 pc linux gnu 配置为:../configure--enable languages=d--prefix=/usr/local/gdc--enable static--disable shared 线程模型:posix gcc版本4.3.1(gcc) 我想说,构建大约需要30分钟,但使用4

我正在尝试改进GCC(GDC)的D前端

我刚刚得到了用GCC-4.3.1编译的d前端。但与我使用GCC-4.1.2时构建它相比,它花费了非常长的时间。这是gdc的版本:

使用内置规格

目标:i686 pc linux gnu

配置为:../configure--enable languages=d--prefix=/usr/local/gdc--enable static--disable shared

线程模型:posix

gcc版本4.3.1(gcc)

我想说,构建大约需要30分钟,但使用4.1.2时,大约需要10分钟。 如何减少所需的时间?
我要做的只是对D文件夹中的内容进行更改,其他什么都不做。

根据您的CPU内核数量,使用
make-j4
或更高版本。

如果您只在多个文件夹中的一个文件夹中进行更改,则使用GCC的构建系统(基于
GNU make
)将仅重新编译依赖于您的更改的文件。所以,这是第一次持续很长时间的构建。通常,在文件更改后重建gcc所需的时间少于5分钟

另一个可能有用的方法是使用-j选项。它使
make
尽可能同时运行多个编译。标准建议是将其设置为
核心数+1
。在您的情况下,这将是
-j2
。这显然是RAM使用量的两倍,所以要小心


除此之外,你几乎找不到任何帮助。gcc的某些部分用于不同的语言,因此即使您只使用一种语言,您也可能会构建相当多的gcc部分。

好的,从现在开始我将使用-j2

我认为部分问题在于,在我构建了一次GCC之后,如果我在D文件夹中更改了某些内容,我会重新配置它,因此构建时间比我再次运行make要长得多,让它知道我更改了什么


现在构建时间可以承受了。:)

嗯,它是一个单核CPU,所以它仍然可以帮助构建时间吗?可以,因为编译器在IO上花费了很多时间。因此,当一个线程正在等待写入对象文件时,另一个线程可以编译。祝你好运。GDC的最后一次提交是在2月份。我以为这个项目已经死了。你用用户ID 169144问了这个问题,但这个“答案”(不是)用用户ID 169389回答。您应该使用一致的用户ID。有关合并帐户的帮助,请参阅。