@@ -410,39 +410,40 @@ sub time_all_compilers {
410
410
say ' +++ Determining compile time for this test ...' if $verbose ;
411
411
my $run_times = time_command(\@compile , \@run , $overhead_runs , 0, 0, $expected -> (0), $verbose );
412
412
push @all_times , @{$run_times || []};
413
+
413
414
if (!$run_times || grep { $_ -> {failed } } @$run_times ) {
414
415
warn " Compiler $name is failing at scale=0 for test $test ->{name}, aborting remaining runs.\n " ;
415
- next ;
416
416
}
417
-
418
- say ' +++ Running scaled timings for this test ...' if $verbose ;
419
- my $min_run_time = min(map { $_ -> {time } } @$run_times );
420
- my $startup_time = $startup ? $startup -> {$name } || 0 : 0;
421
- my $ignore_time = max($startup_time , $min_run_time );
422
-
423
- # Run scaled timing loop
424
- my $scale_points = 0;
425
- while ($run_times && ($lowest < $enough_time || $scale_points < $min_scaling_points )) {
426
- $run_times = time_command(\@compile , \@run , $runs , $scale , $work -> ($scale ), $expected -> ($scale ), $verbose );
427
- push @all_times , @{$run_times || []};
428
- if (!$run_times || grep { $_ -> {failed } } @$run_times ) {
429
- warn " Compiler $name is failing at scale=$scale for test $test ->{name}, aborting remaining runs.\n " ;
430
- last ;
417
+ else {
418
+ say ' +++ Running scaled timings for this test ...' if $verbose ;
419
+ my $min_run_time = min(map { $_ -> {time } } @$run_times );
420
+ my $startup_time = $startup ? $startup -> {$name } || 0 : 0;
421
+ my $ignore_time = max($startup_time , $min_run_time );
422
+
423
+ # Run scaled timing loop
424
+ my $scale_points = 0;
425
+ while ($run_times && ($lowest < $enough_time || $scale_points < $min_scaling_points )) {
426
+ $run_times = time_command(\@compile , \@run , $runs , $scale , $work -> ($scale ), $expected -> ($scale ), $verbose );
427
+ push @all_times , @{$run_times || []};
428
+ $scale_points ++;
429
+
430
+ if (!$run_times || grep { $_ -> {failed } } @$run_times ) {
431
+ warn " Compiler $name is failing at scale=$scale for test $test ->{name}, aborting remaining runs.\n " ;
432
+ last ;
433
+ }
434
+
435
+ $lowest = min(map { $_ -> {time } } @$run_times );
436
+ $lowest -= $ignore_time ;
437
+ $scale = $test -> {scaling } eq ' linear' ? $scale + 1
438
+ : $scale * 2;
431
439
}
432
- $scale_points ++;
433
-
434
- $lowest = min(map { $_ -> {time } } @$run_times );
435
- $lowest -= $ignore_time ;
436
- $scale = $test -> {scaling } eq ' linear' ? $scale + 1
437
- : $scale * 2;
438
440
}
439
441
}
440
442
else {
441
443
my $run_times = time_command(\@compile , \@run , $runs , 1, 1, $expected -> (1), $verbose );
442
444
push @all_times , @{$run_times || []};
443
445
if (!$run_times || grep { $_ -> {failed } } @$run_times ) {
444
446
warn " Compiler $name is failing for test $test ->{name}, continuing to next compiler/test.\n " ;
445
- next ;
446
447
}
447
448
}
448
449
0 commit comments