blob: e171fbc59e4ec7b49bc964e9a10bc55694977ec3 [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]
Fred Drake0d7e68a2002-07-18 19:47:05 +000011else:
12 import tempfile
Guido van Rossum3b0a3292002-08-09 16:38:32 +000013 logf = tempfile.NamedTemporaryFile()
14 logfile = logf.name
Fred Drake0d7e68a2002-07-18 19:47:05 +000015
16p = hotshot.Profile(logfile)
17benchtime, stones = p.runcall(test.pystone.pystones)
18p.close()
19
20print "Pystone(%s) time for %d passes = %g" % \
21 (test.pystone.__version__, test.pystone.LOOPS, benchtime)
22print "This machine benchmarks at %g pystones/second" % stones
23
24stats = hotshot.stats.load(logfile)
Fred Drake0d7e68a2002-07-18 19:47:05 +000025stats.strip_dirs()
26stats.sort_stats('time', 'calls')
27try:
28 stats.print_stats(20)
29except IOError, e:
30 if e.errno != errno.EPIPE:
31 raise