Skip to content

Commit a4a06f6

Browse files
committed
reduce runtime for PyPy benchmarks
1 parent b760082 commit a4a06f6

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

mx.graalpython/mx_graalpython_benchmark.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,21 +161,23 @@ def __init__(self, config_name, options=None, env=None, iterations=None):
161161
except:
162162
self._iterations = None
163163

164+
def override_iterations(self, requested_iterations):
165+
return self._iterations if self._iterations is not None else requested_iterations
166+
164167
def _override_iterations_args(self, args):
165168
_args = []
166169
i = 0
167170
while i < len(args):
168171
arg = args[i]
169172
_args.append(arg)
170173
if arg == '-i':
171-
_args.append(str(self._iterations))
174+
_args.append(str(self.override_iterations(int(args[i + 1]))))
172175
i += 1
173176
i += 1
174177
return _args
175178

176179
def run(self, cwd, args):
177-
if self._iterations is not None:
178-
args = self._override_iterations_args(args)
180+
args = self._override_iterations_args(args)
179181
return super(AbstractPythonIterationsControlVm, self).run(cwd, args)
180182

181183

@@ -202,6 +204,10 @@ class PyPyVm(AbstractPythonIterationsControlVm):
202204
def __init__(self, config_name, options=None, env=None, iterations=None):
203205
super(PyPyVm, self).__init__(config_name, options=options, env=env, iterations=iterations)
204206

207+
def override_iterations(self, requested_iterations):
208+
# PyPy warms up much faster, half should be enough
209+
return int(requested_iterations / 2)
210+
205211
@property
206212
def interpreter(self):
207213
home = mx.get_env(ENV_PYPY_HOME)

0 commit comments

Comments
 (0)