[PATCH] gcc parallel make check

Jakub Jelinek jakub@redhat.com
Thu Sep 11 17:26:00 GMT 2014


On Thu, Sep 11, 2014 at 05:04:56PM +0000, VandeVondele  Joost wrote:
> > Here is a patch I'm testing now:
> 
> I also tested your patch to compare timings vs a newer patch (v8) I'll send soon
> 
> == patch v8 == make -j32 -k ==
> check-fortran   4m58.178s
> check-c++     ~10m
> check-c       ~10m
> check          15m29.873s
> 
> == patch Jakub
> check-c++     ~20m
> check-fortran   3m31.237s 
> check-c         8m8
> 
> on the positive side, your patch provides a further speedup e.g. fortran
> and c testing (where it splits things nicely).  The libstdc++ bottleneck
> is not solved, but I guess that is expected.

The same technique can be of course used for libstdc++, I just didn't want
to do that until the -C gcc testing is changed.

> As you have presumably found as well, your patch introduces a number failures, because some tests seem to have additional dependencies, either explicit or implicit:

I found more issues, in particular it seemed that struct-layout-1.exp,
gnu-encoding.exp, plugin.exp and some go*.exp don't call runtest_file_p
in the same amounts and same arguments in all invocations.
And these Fortran inter-test dependencies, which Tobias told me is
PR56408.

Unfortunately my remote testing box is unreachable now and I'm still waiting
for DDR4 modules to finish building better workstation, so can't test this
right now.  The patch below intends to serialize the content of the
problematic *.exp tests (the first runtest to reach one of those will simply
run all the tests from that *.exp file, others will skip it).

For go I currently have no idea why does that happen, quick hack would be
just disable parallelization of go temporarily and let Ian investigate.

For PR56408 we need some fix.

	Jakub



More information about the Gcc-patches mailing list