Skip to content

Commit 0c38537

Browse files
authored
Merge pull request #32923 from eeckstein/fix-benchmark-script
2 parents bb059ea + 2387732 commit 0c38537

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

benchmark/scripts/perf_test_driver/perf_test_driver.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
from __future__ import print_function
1616

1717
import functools
18+
import glob
1819
import multiprocessing
1920
import os
21+
import platform
2022
import re
2123
import subprocess
2224

@@ -80,6 +82,22 @@ def _unwrap_self(args):
8082
return type(args[0]).process_input(*args)
8183

8284

85+
def get_benchmark_executable(binary_dir, opt_level):
86+
suffix = opt_level + "-" + platform.machine() + "*"
87+
pattern = os.path.join(binary_dir, "Benchmark_" + suffix)
88+
executables = glob.glob(pattern)
89+
if len(executables) == 0:
90+
raise ValueError(
91+
"No benchmark executable for file name pattern " +
92+
pattern + " found")
93+
if len(executables) > 1:
94+
raise ValueError(
95+
"Multiple benchmark executables for file name pattern " +
96+
pattern + " found\n" +
97+
str(executables))
98+
return executables[0]
99+
100+
83101
BenchmarkDriver_OptLevels = ["Onone", "O", "Osize"]
84102

85103

@@ -92,7 +110,7 @@ def __init__(
92110
opt_levels=BenchmarkDriver_OptLevels,
93111
):
94112
self.targets = [
95-
(os.path.join(binary_dir, "Benchmark_%s" % o), o) for o in opt_levels
113+
(get_benchmark_executable(binary_dir, o), o) for o in opt_levels
96114
]
97115
self.xfail_list = xfail_list
98116
self.enable_parallel = enable_parallel

0 commit comments

Comments
 (0)