Skip to content

Commit ea36e67

Browse files
committed
[GR-64914] Fix passing of vm_dims out of python benchmark suites
1 parent 641077b commit ea36e67

File tree

2 files changed

+16
-31
lines changed

2 files changed

+16
-31
lines changed

mx.graalpython/mx_graalpython_benchmark.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ def get_extra_polyglot_args(self):
402402

403403
class PythonBaseBenchmarkSuite(VmBenchmarkSuite, AveragingBenchmarkMixin):
404404
def __init__(self, name, benchmarks):
405-
super(PythonBaseBenchmarkSuite, self).__init__()
405+
super().__init__()
406406
self._checkup = 'GRAALPYTHON_BENCHMARKS_CHECKUP' in os.environ
407407
self._name = name
408408
self._benchmarks = benchmarks
@@ -599,14 +599,7 @@ def rules(self, output, benchmarks, bm_suite_args):
599599
]
600600

601601
def runAndReturnStdOut(self, benchmarks, bmSuiteArgs):
602-
ret_code, out, dims = super(PythonBaseBenchmarkSuite, self).runAndReturnStdOut(benchmarks, bmSuiteArgs)
603-
604-
# host-vm rewrite rules
605-
if dims['host-vm'] not in ('graalvm-ce', 'graalvm-ee'):
606-
if mx.suite('graal-enterprise', fatalIfMissing=False):
607-
dims['host-vm'] = 'graalvm-ee'
608-
else:
609-
dims['host-vm'] = 'graalvm-ce'
602+
ret_code, out, dims = super().runAndReturnStdOut(benchmarks, bmSuiteArgs)
610603

611604
self.post_run_graph(benchmarks[0], dims['host-vm-config'], dims['guest-vm-config'])
612605

@@ -619,7 +612,7 @@ def run(self, benchmarks, bm_suite_args):
619612
if '--checkup' in bm_suite_args:
620613
self._checkup = True
621614
bm_suite_args.remove('--checkup')
622-
results = super(PythonBaseBenchmarkSuite, self).run(benchmarks, bm_suite_args)
615+
results = super().run(benchmarks, bm_suite_args)
623616
self.addAverageAcrossLatestResults(results)
624617
return results
625618

@@ -731,7 +724,7 @@ def checkup(self, out):
731724

732725
class PythonBenchmarkSuite(PythonBaseBenchmarkSuite):
733726
def __init__(self, name, bench_path, benchmarks, python_path=None):
734-
super(PythonBenchmarkSuite, self).__init__(name, benchmarks)
727+
super().__init__(name, benchmarks)
735728
self._python_path = python_path
736729
self._harness_path = HARNESS_PATH
737730
self._harness_path = join(SUITE.dir, self._harness_path)
@@ -799,7 +792,7 @@ def get_benchmark_suites(cls, benchmarks):
799792

800793
class PythonJavaEmbeddingBenchmarkSuite(PythonBaseBenchmarkSuite):
801794
def __init__(self, name, bench_path, benchmarks):
802-
super(PythonJavaEmbeddingBenchmarkSuite, self).__init__(name, benchmarks)
795+
super().__init__(name, benchmarks)
803796
self._bench_path = bench_path
804797

805798
def get_vm_registry(self):

mx.graalpython/mx_graalpython_python_benchmarks.py

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -394,19 +394,7 @@ def __iter__(self):
394394

395395

396396
class PySuite(mx_benchmark.TemporaryWorkdirMixin, mx_benchmark.VmBenchmarkSuite):
397-
def runAndReturnStdOut(self, benchmarks, bmSuiteArgs):
398-
ret_code, out, dims = super().runAndReturnStdOut(benchmarks, bmSuiteArgs)
399-
400-
def _replace_host_vm(old, new):
401-
host_vm = dims.get("host-vm")
402-
if host_vm and old in host_vm:
403-
dims['host-vm'] = host_vm.replace(old, new)
404-
mx.logv(f"[DEBUG] replace 'host-vm': '{host_vm}' -> '{dims['host-vm']}'")
405-
406-
_replace_host_vm('graalvm-ce-python', 'graalvm-ce')
407-
_replace_host_vm('graalvm-ee-python', 'graalvm-ee')
408-
409-
return ret_code, out, dims
397+
pass
410398

411399

412400
class PyPerformanceSuite(PySuite):
@@ -436,6 +424,7 @@ def get_vm_registry(self):
436424
def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
437425
workdir = abspath(workdir)
438426
vm_venv = f"{self.name()}-{vm.name()}-{vm.config_name()}"
427+
_, _, vm_dims = vm.run(workdir, ["--version"])
439428

440429
if not hasattr(self, "prepared"):
441430
self.prepared = True
@@ -488,7 +477,7 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
488477
mx.log(f"Return code of benchmark harness: {retcode}")
489478
shutil.copy(join(workdir, json_file), join(SUITE.dir, "raw_results.json"))
490479
shutil.copy(join(workdir, json_file_memory), join(SUITE.dir, "raw_results_memory.json"))
491-
return retcode, ",".join([join(workdir, json_file), join(workdir, json_file_memory)])
480+
return retcode, ",".join([join(workdir, json_file), join(workdir, json_file_memory)]), vm_dims
492481

493482

494483
class PyPySuite(PySuite):
@@ -518,6 +507,7 @@ def get_vm_registry(self):
518507
def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
519508
workdir = abspath(workdir)
520509
vm_venv = f"{self.name()}-{vm.name()}-{vm.config_name()}"
510+
_, _, vm_dims = vm.run(workdir, ["--version"])
521511

522512
if not hasattr(self, "prepared"):
523513
self.prepared = True
@@ -569,7 +559,7 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
569559
)
570560
shutil.copy(join(workdir, json_file), join(SUITE.dir, "raw_results.json"))
571561
mx.log(f"Return code of benchmark harness: {retcode}")
572-
return retcode, join(workdir, json_file)
562+
return retcode, join(workdir, json_file), vm_dims
573563

574564

575565
class NumPySuite(PySuite):
@@ -611,6 +601,7 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
611601
workdir = abspath(workdir)
612602
benchdir = join(workdir, "numpy", "benchmarks")
613603
vm_venv = f"{self.name()}-{vm.name()}-{vm.config_name()}"
604+
_, _, vm_dims = vm.run(workdir, ["--version"])
614605

615606
if not hasattr(self, "prepared"):
616607
self.prepared = True
@@ -671,9 +662,9 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
671662
if json_file:
672663
json_file = json_file[0]
673664
shutil.copy(json_file, join(SUITE.dir, "raw_results.json"))
674-
return retcode, json_file
665+
return retcode, json_file, vm_dims
675666
else:
676-
return -1, ""
667+
return -1, "", vm_dims
677668

678669

679670
class PandasSuite(PySuite):
@@ -720,6 +711,7 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
720711
workdir = abspath(workdir)
721712
benchdir = join(workdir, "pandas", "asv_bench")
722713
vm_venv = f"{self.name()}-{vm.name()}-{vm.config_name()}"
714+
_, _, vm_dims = vm.run(workdir, ["--version"])
723715

724716
if not hasattr(self, "prepared"):
725717
self.prepared = True
@@ -798,9 +790,9 @@ def _vmRun(self, vm, workdir, command, benchmarks, bmSuiteArgs):
798790
if json_file:
799791
json_file = json_file[0]
800792
shutil.copy(json_file, join(SUITE.dir, "raw_results.json"))
801-
return retcode, json_file
793+
return retcode, json_file, vm_dims
802794
else:
803-
return -1, ""
795+
return -1, "", vm_dims
804796

805797

806798
def register_python_benchmarks():

0 commit comments

Comments
 (0)