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