Hi! On 2025-02-05T16:12:38+0000, Andrew Carlotti <andrew.carlo...@arm.com> wrote: > Various aarch64 tests attempt to reduce the batch size for parallel test > execution to a single test per batch, but it looks like the necessary > changes to gcc_parallel_test_run_p were accidentally omitted when the > aarch64-*-acle-asm.exp files were merged. This patch corrects that > omission. > > This does have a measurable performance impact when running a limited > number of tests. For example, in aarch64-sve-acle-asm.exp the use of > torture options results in 16 compiler executions for each test; when > running two such tests I observed a total test duration of 3m39 without > this patch, and 1m55 with the patch. A full batch of 10 tests would > have taken over 15 minutes to run on this machine. > > > Ok for master?
Shouldn't the 'libstdc++-v3/testsuite/lib/libstdc++.exp' copy of this code likewise be changed? Grüße Thomas > gcc/testsuite/ChangeLog: > > * lib/gcc-defs.exp > (gcc_runtest_parallelize_limit_minor): New global variable. > (gcc_parallel_test_run_p): Use new variable for batch size. > > > diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp > index > 29403d7317c762cba9485dc0562c4c292b777634..2f8b7d488691cc69ccca256864dfaebf3c9b40ac > 100644 > --- a/gcc/testsuite/lib/gcc-defs.exp > +++ b/gcc/testsuite/lib/gcc-defs.exp > @@ -172,6 +172,7 @@ if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \ > && [info procs gcc_parallelize_saved_runtest_file_p] == [list] } then { > global gcc_runtest_parallelize_counter > global gcc_runtest_parallelize_counter_minor > + global gcc_runtest_parallelize_limit_minor > global gcc_runtest_parallelize_enable > global gcc_runtest_parallelize_dir > global gcc_runtest_parallelize_last > @@ -212,6 +213,7 @@ if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \ > # and investigate if they don't. > set gcc_runtest_parallelize_counter 0 > set gcc_runtest_parallelize_counter_minor 0 > + set gcc_runtest_parallelize_limit_minor 10 > set gcc_runtest_parallelize_enable 1 > set gcc_runtest_parallelize_dir [getenv GCC_RUNTEST_PARALLELIZE_DIR] > set gcc_runtest_parallelize_last 0 > @@ -219,6 +221,7 @@ if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \ > proc gcc_parallel_test_run_p { testcase } { > global gcc_runtest_parallelize_counter > global gcc_runtest_parallelize_counter_minor > + global gcc_runtest_parallelize_limit_minor > global gcc_runtest_parallelize_enable > global gcc_runtest_parallelize_dir > global gcc_runtest_parallelize_last > @@ -228,10 +231,10 @@ if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \ > } > > # Only test the filesystem every 10th iteration > - incr gcc_runtest_parallelize_counter_minor > - if { $gcc_runtest_parallelize_counter_minor == 10 } { > + if { $gcc_runtest_parallelize_counter_minor >= > $gcc_runtest_parallelize_limit_minor } { > set gcc_runtest_parallelize_counter_minor 0 > } > + incr gcc_runtest_parallelize_counter_minor > if { $gcc_runtest_parallelize_counter_minor != 1 } { > #verbose -log "gcc_parallel_test_run_p $testcase > $gcc_runtest_parallelize_counter $gcc_runtest_parallelize_last" > return $gcc_runtest_parallelize_last