mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			777 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			777 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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)
 | 
