home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Inkscape / Inkscape-0.48.2-1-win32.exe / python / Lib / hotshot / stones.py < prev   
Encoding:
Python Source  |  2010-05-29  |  797 b   |  31 lines

  1. import errno
  2. import hotshot
  3. import hotshot.stats
  4. import sys
  5. import test.pystone
  6.  
  7. def main(logfile):
  8.     p = hotshot.Profile(logfile)
  9.     benchtime, stones = p.runcall(test.pystone.pystones)
  10.     p.close()
  11.  
  12.     print "Pystone(%s) time for %d passes = %g" % \
  13.           (test.pystone.__version__, test.pystone.LOOPS, benchtime)
  14.     print "This machine benchmarks at %g pystones/second" % stones
  15.  
  16.     stats = hotshot.stats.load(logfile)
  17.     stats.strip_dirs()
  18.     stats.sort_stats('time', 'calls')
  19.     try:
  20.         stats.print_stats(20)
  21.     except IOError, e:
  22.         if e.errno != errno.EPIPE:
  23.             raise
  24.  
  25. if __name__ == '__main__':
  26.     if sys.argv[1:]:
  27.         main(sys.argv[1])
  28.     else:
  29.         import tempfile
  30.         main(tempfile.NamedTemporaryFile().name)
  31.