python-2.5.2/win32/Lib/hotshot/stones.py
changeset 0 ae805ac0140d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/Lib/hotshot/stones.py	Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,31 @@
+import errno
+import hotshot
+import hotshot.stats
+import os
+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)