[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