On Apr 3, 2013, at 11:27, Simon Baldwin <sim...@google.com> wrote:
> Suppose you had a month in which to reorganise gcc so that it builds
> its 3-stage bootstrap and runtime libraries in some massively parallel
> fashion, without hardware or resource constraints(*).  How might you
> approach this?

One of the main problems in large build machines is that a few steps
in the compilation take a very long time, such as compiling
insn-recog.o (1m30) and insn-attrtab.o (2m05). This is on our largish
48-core AMD machine. Also genattrtab and genautomata are part of
the critical path, IIRC. These compilations, which are repeated
during the bootstrap, take a significant part of the total sequential
bootstrap time of about 20 min real, 100 min user and 10 min sys
on this particular machine.

I think the easiest way in general to achieve more parallelization
during the bootstrap is to speculatively reuse the old result (.o
file or other output) and in parallel verify that, yes, eventually
we produce the same result. This has to be done carefully, so that
we don't accidentally skip the verification, negating the self-testing
purpose of the bootstrap.

  -Geert

Reply via email to