summaryrefslogtreecommitdiff
path: root/src/python/stdlib/hotshot/stones.py
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
commit2e401babb793238564ca640fc802a52ab7f6c293 (patch)
tree87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/hotshot/stones.py
parentc096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff)
parent04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff)
downloadpowder-2e401babb793238564ca640fc802a52ab7f6c293.zip
powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz
Python console
Diffstat (limited to 'src/python/stdlib/hotshot/stones.py')
-rw-r--r--src/python/stdlib/hotshot/stones.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/python/stdlib/hotshot/stones.py b/src/python/stdlib/hotshot/stones.py
new file mode 100644
index 0000000..fb88d58
--- /dev/null
+++ b/src/python/stdlib/hotshot/stones.py
@@ -0,0 +1,30 @@
+import errno
+import hotshot
+import hotshot.stats
+import sys
+import test.pystone
+
+def main(logfile):
+ p = hotshot.Profile(logfile)
+ benchtime, stones = p.runcall(test.pystone.pystones)
+ p.close()
+
+ print "Pystone(%s) time for %d passes = %g" % \
+ (test.pystone.__version__, test.pystone.LOOPS, benchtime)
+ print "This machine benchmarks at %g pystones/second" % stones
+
+ stats = hotshot.stats.load(logfile)
+ stats.strip_dirs()
+ stats.sort_stats('time', 'calls')
+ try:
+ stats.print_stats(20)
+ except IOError, e:
+ if e.errno != errno.EPIPE:
+ raise
+
+if __name__ == '__main__':
+ if sys.argv[1:]:
+ main(sys.argv[1])
+ else:
+ import tempfile
+ main(tempfile.NamedTemporaryFile().name)