blob: 5a029d5dc03f4abb7ac4c5d5554311677ea5e4b3 [file] [log] [blame]
Fred Drake0d7e68a2002-07-18 19:47:05 +00001import errno
2import hotshot
3import hotshot.stats
4import os
5import sys
6import test.pystone
7
8
9if sys.argv[1:]:
10 logfile = sys.argv[1]
11 cleanup = 0
12else:
13 import tempfile
14 logfile = tempfile.mktemp()
15 cleanup = 1
16
17
18p = hotshot.Profile(logfile)
19benchtime, stones = p.runcall(test.pystone.pystones)
20p.close()
21
22print "Pystone(%s) time for %d passes = %g" % \
23 (test.pystone.__version__, test.pystone.LOOPS, benchtime)
24print "This machine benchmarks at %g pystones/second" % stones
25
26stats = hotshot.stats.load(logfile)
27if cleanup:
28 os.unlink(logfile)
29stats.strip_dirs()
30stats.sort_stats('time', 'calls')
31try:
32 stats.print_stats(20)
33except IOError, e:
34 if e.errno != errno.EPIPE:
35 raise