On Tue, Sep 09, 2014 at 02:02:18PM +0400, Yury Gribov wrote: > On 09/09/2014 10:51 AM, VandeVondele Joost wrote: > > Attached is an extended version of the patch, > > it brings a 100% improvement in make -j32 -k check-gcc > > First of all, many thanks for working on this. > > +# ls -1 | ../../../contrib/generate_tcl_patterns.sh 300 > "dg.exp=gfortran.dg/" > > How does this work with subdirectories? Can we replace ls with find?
Generally, if the argument to *.exp doesn't contain a particular subdirectory, then the wildcard is taken against basenames of the tests. > -check_p_numbers=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > +check_p_numbers=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \ > + 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 > > $(shell seq 1 40) ? Would that be sufficiently portable to weirdo hosts (M$Win, Darwin, ...)? We require GNU make, so if it can be written in GNU make text functions, fine, otherwise it is better to keep as is. > > + if (_assert_exit) exit 1 > > Haven't you already exited above? > > > A second part of the patch is a new file > 'contrib/generate_tcl_patterns.sh' > > which generates the needed regexp > > Can we provide a Makefile target to automatically update Makefile.in? No. As I wrote earlier, splitting on filenames and test counts only is only very rough split, all the splits really need to be backed out by real timing data from popular targets. Also, I'm afraid of some tests being left out unintentionally (e.g. the wildcards created at some point, then a new test is added with a weird starting character that hasn't been used before and suddenly it will not be tested with make -j?). Jakub