24 lines
		
	
	
		
			538 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			24 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()
 |