| 
									
										
										
										
											2002-07-18 19:47:05 +00:00
										 |  |  | import errno | 
					
						
							|  |  |  | import hotshot | 
					
						
							|  |  |  | import hotshot.stats | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import test.pystone | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-03-28 16:28:48 +00:00
										 |  |  | def main(logfile): | 
					
						
							|  |  |  |     p = hotshot.Profile(logfile) | 
					
						
							|  |  |  |     benchtime, stones = p.runcall(test.pystone.pystones) | 
					
						
							|  |  |  |     p.close() | 
					
						
							| 
									
										
										
										
											2002-07-18 19:47:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-03-28 16:28:48 +00:00
										 |  |  |     print "Pystone(%s) time for %d passes = %g" % \ | 
					
						
							|  |  |  |           (test.pystone.__version__, test.pystone.LOOPS, benchtime) | 
					
						
							|  |  |  |     print "This machine benchmarks at %g pystones/second" % stones | 
					
						
							| 
									
										
										
										
											2002-07-18 19:47:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-03-28 16:28:48 +00:00
										 |  |  |     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 | 
					
						
							| 
									
										
										
										
											2002-07-18 19:47:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-03-28 16:28:48 +00:00
										 |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     if sys.argv[1:]: | 
					
						
							|  |  |  |         main(sys.argv[1]) | 
					
						
							|  |  |  |     else: | 
					
						
							|  |  |  |         import tempfile | 
					
						
							|  |  |  |         main(tempfile.NamedTemporaryFile().name) |