[pypy-svn] r58999 - in pypy/build/benchmem: . testing
hpk at codespeak.net
hpk at codespeak.net
Sat Oct 11 18:54:30 CEST 2008
Author: hpk
Date: Sat Oct 11 18:54:30 2008
New Revision: 58999
Modified:
pypy/build/benchmem/report.py
pypy/build/benchmem/testing/test_benchtool.py
Log:
(xoraxax,hpk) add report for startup time
Modified: pypy/build/benchmem/report.py
==============================================================================
--- pypy/build/benchmem/report.py (original)
+++ pypy/build/benchmem/report.py Sat Oct 11 18:54:30 2008
@@ -206,6 +206,31 @@
filter(group=HEAP, inv=True).rss)
tw.line(asciitable(rows))
+class BaseTimeOfInterpreters:
+ def __init__(self, resultset):
+ self.resultset = resultset.filter(benchtype="basetime")
+
+ def getexecutables(self):
+ return [r.executable for r in self.resultset.results]
+
+ def run(self):
+ if not self.resultset:
+ return
+ tw = py.io.TerminalWriter()
+ tw.sep("=", "Basetime of interpreters")
+ # result.mintimings -> [(name, timings_dict)]
+ executables = self.getexecutables()
+ row0 = "run real user sys".split()
+ rows = [row0]
+ names = [x[0] for x in self.resultset.results[0].mintimings]
+ for selectname in names:
+ for result in self.resultset.results:
+ for name, timing in result.mintimings:
+ if name == selectname:
+ rows.append(["%s-%s" %(result.executable, name),
+ timing['real'], timing['user'], timing['sys']])
+ tw.line(asciitable(rows))
+
if __name__ == "__main__":
options, args = parser.parse_args()
@@ -217,6 +242,7 @@
CheckpointDetails(resultset).run()
IncrementalSizePerBench(resultset).run()
BaseSizeOfInterpreters(resultset).run()
+ BaseTimeOfInterpreters(resultset).run()
if options.gnuplot:
Gnuplot(resultset).run()
Modified: pypy/build/benchmem/testing/test_benchtool.py
==============================================================================
--- pypy/build/benchmem/testing/test_benchtool.py (original)
+++ pypy/build/benchmem/testing/test_benchtool.py Sat Oct 11 18:54:30 2008
@@ -232,8 +232,8 @@
assert result2.snapshot.heap_private() - result1.snapshot.heap_private() < 21
report.CheckpointDetails(resultset).run() # shouldnt do anything
-def test_startuptime_half_functional():
- tmpdir = py.test.ensuretemp("test_startuptime")
+def test_basetime_half_functional():
+ tmpdir = py.test.ensuretemp("test_basetime_half_functional")
script = py.path.local(runbench.__file__).dirpath("runbench.py")
benchlog = tmpdir.join("benchlog")
py.process.cmdexec("%s -e python2.5,python2.5 --benchlog=%s basetime" % (script, benchlog))
More information about the Pypy-commit
mailing list