On Fri, Sep 13, 2024 at 01:19:02PM +0200, Richard Biener wrote:
> The genmatch.cc parts are OK - I wonder how much the new dependences
> push gimple-match* and generic-match* compilation to the end?

Only time will tell.
Looking at my past 3 x86_64-linux bootstraps (-j32) but I'm doing i686-linux
bootstrap concurrently (also -j32) - 2 without the patch, one with it,
the g*-match*.cc files were generated always in the same minute as
config.state and in the 2 older bootstraps first g*-match*.o was finished
~4 minutes after config.state and last ~6 minutes after it, while
in the latest bootstrap first g*-match*.o was ready ~1 minute after
config.state and last ~4 minutes after it.
Toplevel config.status to make -j32 bootstrap time was 86minutes
in the unpatched build, 76minutes in patched, but this really varies
quite a lot.
Basically, the old dependencies forced all non-generated files to wait
until all generated files were generated, the new dependencies force
all non-generated *.o files to wait until all but g*match* generated files
were generated and all non-generated *.o files but libcommon.a to wait
until all g*match* generated files were generated.  So, one pretty much
needs to generate the non-g*match* first, then compile libcommon.a (36
small objects), then generate g*match* and then compile the rest.
So, perhaps on > 36 slow CPUs in theory it might be slightly slower,
because there will be another time frame where those further CPUs are idle.

        Jakub

Reply via email to