[pypy-svn] r60044 - pypy/build/benchmem
xoraxax at codespeak.net
xoraxax at codespeak.net
Fri Nov 21 00:37:05 CET 2008
Author: xoraxax
Date: Fri Nov 21 00:37:03 2008
New Revision: 60044
Modified:
pypy/build/benchmem/report.py
Log:
Add rst table for pauses.
Modified: pypy/build/benchmem/report.py
==============================================================================
--- pypy/build/benchmem/report.py (original)
+++ pypy/build/benchmem/report.py Fri Nov 21 00:37:03 2008
@@ -459,16 +459,32 @@
def getexecutables(self):
return [r.executable for r in self.resultset.results]
+ def run_rest(self, filename="table-pauses.txt"):
+ if not self.resultset:
+ return
+ p = py.path.local(filename)
+ rows = self.generate_table(True)
+ p.write(str(ReSTtable(rows)))
+ print "wrote", p
+
+
def run(self):
if not self.resultset:
return
tw = py.io.TerminalWriter()
tw.sep("=", "Pauses between every bytecode")
- executables = self.getexecutables()
- row0 = ["benchname", "threshold", "#samples", "#large"]
+ rows = self.generate_table()
+ tw.line(asciitable(rows))
+
+ def generate_table(self, gist_only=False):
+ if gist_only:
+ row0 = ["interpreter", "benchmark", "no. samples", "median", "max"]
+ else:
+ row0 = ["interpreter", "benchmark", "#samples", "median", "max", "#large"]
+
rows = [row0]
for result in self.resultset.results:
- cell0 = "%s-%s" % (result.executable_short, result.benchname)
+ cell0 = [result.executable_short, result.benchname]
samples = result.lst
# get all samples that are larger than FACTOR * smallest_sample
# base_sample = min(samples)
@@ -480,9 +496,12 @@
pauses = [sample for sample in samples if sample > threshold]
pauses.sort()
pauses.reverse()
- row = [cell0, threshold, len(samples), len(pauses)] + [str(pause) for pause in pauses]
+ if gist_only:
+ row = cell0 + [len(samples), "%.5f" % median, "%.2f" % max(samples)]
+ else:
+ row = cell0 + [threshold, len(samples), "%.5f" % median, "%.2f" % max(samples), len(pauses)] + [str(pause) for pause in pauses]
rows.append(row)
- tw.line(asciitable(rows))
+ return rows
def run_graphic(self, plotter):
plotter.plot_pausehistogram(self.resultset)
@@ -525,6 +544,7 @@
BaseTimeOfInterpreters(resultset).run_rest()
BenchTimeOfInterpreters(resultset).run_rest()
Appprofiles(resultset).run_rest()
+ Pauses(resultset).run_rest()
#for name, results in reader.name2results.items():
# tw.sep("=", name)
More information about the Pypy-commit
mailing list