Guido van Rossum | bd9f093 | 1998-07-17 21:10:42 +0000 | [diff] [blame] | 1 | import re |
| 2 | import time |
| 3 | |
| 4 | def main(): |
| 5 | s = "\13hello\14 \13world\14 " * 1000 |
| 6 | p = re.compile(r"([\13\14])") |
| 7 | timefunc(10, p.sub, "", s) |
| 8 | timefunc(10, p.split, s) |
| 9 | timefunc(10, p.findall, s) |
| 10 | |
| 11 | def timefunc(n, func, *args, **kw): |
| 12 | t0 = time.clock() |
| 13 | try: |
| 14 | for i in range(n): |
Raymond Hettinger | ff41c48 | 2003-04-06 09:01:11 +0000 | [diff] [blame] | 15 | result = func(*args, **kw) |
Guido van Rossum | bd9f093 | 1998-07-17 21:10:42 +0000 | [diff] [blame] | 16 | return result |
| 17 | finally: |
| 18 | t1 = time.clock() |
| 19 | if n > 1: |
Guido van Rossum | be19ed7 | 2007-02-09 05:37:30 +0000 | [diff] [blame^] | 20 | print(n, "times", end=' ') |
| 21 | print(func.__name__, "%.3f" % (t1-t0), "CPU seconds") |
Guido van Rossum | bd9f093 | 1998-07-17 21:10:42 +0000 | [diff] [blame] | 22 | |
| 23 | main() |