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

Reply via email to