[pypy-svn] r70497 - in pypy/trunk/pypy/translator/benchmark: . test
fijal at codespeak.net
fijal at codespeak.net
Mon Jan 11 14:45:20 CET 2010
Author: fijal
Date: Mon Jan 11 14:45:19 2010
New Revision: 70497
Modified:
pypy/trunk/pypy/translator/benchmark/benchmarks.py
pypy/trunk/pypy/translator/benchmark/test/test_run.py
Log:
(pedronis, fijal)
Accept a sizefactor for each of shootout benchmarks
Modified: pypy/trunk/pypy/translator/benchmark/benchmarks.py
==============================================================================
--- pypy/trunk/pypy/translator/benchmark/benchmarks.py (original)
+++ pypy/trunk/pypy/translator/benchmark/benchmarks.py Mon Jan 11 14:45:19 2010
@@ -147,11 +147,12 @@
class LanguageShootoutBenchmark(Benchmark):
def __init__(self, name, sizefactor=1, test=False):
self.test = test
+ self.basename = name
Benchmark.__init__(self, name, self.runner, False, 'ms',
self.check, sizefactor)
def __mul__(self, i):
- return LookingGlassBenchmark(self.name, self.sizefactor * i)
+ return LanguageShootoutBenchmark(self.name, self.sizefactor * i)
def runner(self, executable, sizefactor=1):
shootout = py.path.local(__file__).dirpath().join(
@@ -161,10 +162,10 @@
kind = 'test'
else:
kind = 'run'
- args = yaml.load(argsfile.read())[self.name][kind]['args']
- progname = str(shootout.join(self.name)) + '.py'
- cmd = 'time -f "%s" %s %s %s' % (TIME_FMT, executable, progname,
- " ".join(args))
+ args = yaml.load(argsfile.read())[self.basename][kind]['args']
+ progname = str(shootout.join(self.basename)) + '.py'
+ cmd = 'time -f "%s" %s %s %s %d' % (TIME_FMT, executable, progname,
+ " ".join(args), sizefactor)
txt = run_cmd(cmd)
return get_result(txt, 'elapsed time:'), txt
@@ -184,8 +185,10 @@
's', check_mako),
]
-for name in ['binary-trees', 'fannkuch', 'fasta', 'float', 'meteor-contest',
- 'nbody', 'spectral-norm']:
+SHOOTOUT_NAMES = ['binary-trees', 'fannkuch', 'fasta', 'float',
+ 'meteor-contest', 'nbody', 'spectral-norm']
+
+for name in SHOOTOUT_NAMES:
BENCHMARKS.append(LanguageShootoutBenchmark(name))
BENCHMARKS_BY_NAME = {}
Modified: pypy/trunk/pypy/translator/benchmark/test/test_run.py
==============================================================================
--- pypy/trunk/pypy/translator/benchmark/test/test_run.py (original)
+++ pypy/trunk/pypy/translator/benchmark/test/test_run.py Mon Jan 11 14:45:19 2010
@@ -1,7 +1,7 @@
import sys
from pypy.translator.benchmark.benchmarks import (run_richards, Benchmark,
- run_mako, check_mako, LanguageShootoutBenchmark)
+ run_mako, check_mako, LanguageShootoutBenchmark, SHOOTOUT_NAMES)
def test_run_richards():
bm = Benchmark('richards', run_richards, False, 'ms')
@@ -17,7 +17,8 @@
assert isinstance(res, float)
def test_run_binary_trees():
- bm = LanguageShootoutBenchmark('binary-trees', test=True)
- assert bm.check()
- res = bm.run(sys.executable)
- assert isinstance(res, float)
+ for name in SHOOTOUT_NAMES:
+ bm = LanguageShootoutBenchmark(name, test=True)
+ assert bm.check()
+ res = bm.run(sys.executable)
+ assert isinstance(res, float)
More information about the Pypy-commit
mailing list