mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	 fe98e2fc83
			
		
	
	
		fe98e2fc83
		
	
	
	
	
		
			
			* Replace "time.clock on windows, or time.time" with time.perf_counter() * profile module: only use time.process_time() instead of trying different functions providing the process time * timeit module: use time.perf_counter() by default, time.time() and time.clock() can still be used using --time and --clock options * pybench program: use time.perf_counter() by default, add support for the new time.process_time() and time.perf_counter() functions, but stay backward compatible. Use also time.get_clock_info() to display information of the timer.
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import re
 | |
| import time
 | |
| 
 | |
| def main():
 | |
|     s = "\13hello\14 \13world\14 " * 1000
 | |
|     p = re.compile(r"([\13\14])")
 | |
|     timefunc(10, p.sub, "", s)
 | |
|     timefunc(10, p.split, s)
 | |
|     timefunc(10, p.findall, s)
 | |
| 
 | |
| def timefunc(n, func, *args, **kw):
 | |
|     t0 = time.perf_counter()
 | |
|     try:
 | |
|         for i in range(n):
 | |
|             result = func(*args, **kw)
 | |
|         return result
 | |
|     finally:
 | |
|         t1 = time.perf_counter()
 | |
|         if n > 1:
 | |
|             print(n, "times", end=' ')
 | |
|         print(func.__name__, "%.3f" % (t1-t0), "CPU seconds")
 | |
| 
 | |
| main()
 |