Skip to content

Commit eef4988

Browse files
committed
[GR-58235] [GR-58270] [GR-58234] [GR-34642] [GR-56335] [GR-42479] [GR-55041] Several CI benchmarking fixes and improvements.
PullRequest: graal/19458
2 parents 6146963 + 9b0c862 commit eef4988

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

compiler/ci/ci_common/benchmark-suites.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
run+: [
7171
self.benchmark_cmd + ["scala-dacapo:*", "--"] + self.extra_vm_args
7272
],
73-
timelimit: "01:00:00",
73+
timelimit: "01:30:00",
7474
forks_batches:: 2,
7575
bench_forks_per_batch:: 3,
7676
forks_timelimit:: "02:30:00",
@@ -105,7 +105,7 @@
105105
run+: [
106106
self.benchmark_cmd + ["renaissance:*"] + suite_version_args + ["--"] + self.extra_vm_args
107107
],
108-
timelimit: "2:00:00",
108+
timelimit: "2:30:00",
109109
forks_batches:: 4,
110110
bench_forks_per_batch:: 2,
111111
forks_timelimit:: "4:00:00",

compiler/ci/ci_includes/baseline-benchmarks.jsonnet

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,14 @@
66
local bench = (import '../ci_common/benchmark-suites.libsonnet'),
77
local hw = bc.bench_hw,
88

9-
local hotspot_amd64_builds = [
10-
c.weekly + hw.e3 + jdk + cc.c2 + suite
9+
local hotspot_builds = std.flattenArrays([
10+
[
11+
c.weekly + hw.e3 + jdk + cc.c2 + suite,
12+
c.weekly + hw.a12c + jdk + cc.c2 + suite
13+
]
1114
for jdk in cc.jdks_of_interest
1215
for suite in bench.groups.all_suites
13-
],
14-
15-
local hotspot_aarch64_builds = [
16-
c.weekly + hw.a12c + jdk + cc.c2 + suite
17-
for jdk in cc.jdks_of_interest
18-
for suite in bench.groups.main_suites
19-
] + [
20-
c.monthly + hw.a12c + jdk + cc.c2 + bench.specjbb2015,
21-
for jdk in cc.product_jdks
22-
],
16+
]),
2317

2418
local hotspot_profiling_builds = std.flattenArrays([
2519
[
@@ -73,7 +67,7 @@
7367
]
7468
for jdk in cc.product_jdks
7569
]),
76-
local all_builds = hotspot_amd64_builds + hotspot_aarch64_builds + hotspot_profiling_builds +
70+
local all_builds = hotspot_builds + hotspot_profiling_builds +
7771
weekly_forks_amd64_builds + weekly_forks_aarch64_builds + economy_builds + no_tiered_builds + gc_variants_builds,
7872
local filtered_builds = [b for b in all_builds if b.is_jdk_supported(b.jdk_version) && b.is_arch_supported(b.arch)],
7973

vm/mx.vm/mx_vm_benchmark.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ def __init__(self, vm: NativeImageVM, bm_suite: BenchmarkSuite | NativeImageBenc
230230
base_image_build_args += ['-H:+UseStringInlining']
231231
if vm.use_open_type_world:
232232
base_image_build_args += ['-H:-ClosedTypeWorld']
233+
if vm.use_compacting_gc:
234+
base_image_build_args += ['-H:+CompactingOldGen']
233235
if vm.is_llvm:
234236
base_image_build_args += ['--features=org.graalvm.home.HomeFinderFeature'] + ['-H:CompilerBackend=llvm', '-H:DeadlockWatchdogInterval=0']
235237
if vm.gc:
@@ -531,6 +533,7 @@ def __init__(self, name, config_name, extra_java_args=None, extra_launcher_args=
531533
self.native_architecture = False
532534
self.use_upx = False
533535
self.use_open_type_world = False
536+
self.use_compacting_gc = False
534537
self.graalvm_edition = None
535538
self.config: Optional[NativeImageBenchmarkConfig] = None
536539
self.stages_info: Optional[StagesInfo] = None
@@ -569,6 +572,8 @@ def config_name(self):
569572
config += ["string-inlining"]
570573
if self.use_open_type_world is True:
571574
config += ["otw"]
575+
if self.use_compacting_gc is True:
576+
config += ["compacting-gc"]
572577
if self.is_gate is True:
573578
config += ["gate"]
574579
if self.use_upx is True:
@@ -637,7 +642,8 @@ def _configure_from_name(self, config_name):
637642
mx.abort(f"config_name must be set. Use 'default' for the default {self.__class__.__name__} configuration.")
638643

639644
# This defines the allowed config names for NativeImageVM. The ones registered will be available via --jvm-config
640-
rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<otw>otw-)?(?P<gate>gate-)?(?P<upx>upx-)?(?P<quickbuild>quickbuild-)?(?P<gc>g1gc-)?(?P<llvm>llvm-)?(?P<pgo>pgo-|pgo-ctx-insens-|pgo-sampler-)?(?P<inliner>inline-)?' \
645+
rule = r'^(?P<native_architecture>native-architecture-)?(?P<string_inlining>string-inlining-)?(?P<otw>otw-)?(?P<compacting_gc>compacting-gc-)?(?P<gate>gate-)?(?P<upx>upx-)?(?P<quickbuild>quickbuild-)?(?P<gc>g1gc-)?' \
646+
r'(?P<llvm>llvm-)?(?P<pgo>pgo-|pgo-ctx-insens-|pgo-sampler-)?(?P<inliner>inline-)?' \
641647
r'(?P<analysis_context_sensitivity>insens-|allocsens-|1obj-|2obj1h-|3obj2h-|4obj3h-)?(?P<no_inlining_before_analysis>no-inline-)?(?P<jdk_profiles>jdk-profiles-collect-|adopted-jdk-pgo-)?' \
642648
r'(?P<profile_inference>profile-inference-feature-extraction-|profile-inference-pgo-|profile-inference-debug-)?(?P<sampler>safepoint-sampler-|async-sampler-)?(?P<optimization_level>O0-|O1-|O2-|O3-|Os-)?(default-)?(?P<edition>ce-|ee-)?$'
643649

@@ -667,6 +673,10 @@ def _configure_from_name(self, config_name):
667673
mx.logv(f"'otw' is enabled for {config_name}")
668674
self.use_open_type_world = True
669675

676+
if matching.group("compacting_gc") is not None:
677+
mx.logv(f"'compacting-gc' is enabled for {config_name}")
678+
self.use_compacting_gc = True
679+
670680
if matching.group("quickbuild") is not None:
671681
mx.logv(f"'quickbuild' is enabled for {config_name}")
672682
self.is_quickbuild = True

0 commit comments

Comments
 (0)