blob: e93bacdb5843c634fa6246409cc8aebf7c42577c [file] [log] [blame]
Guido van Rossumbd9f0931998-07-17 21:10:42 +00001import re
2import time
3
4def 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
11def timefunc(n, func, *args, **kw):
Victor Stinnerfe98e2f2012-04-29 03:01:20 +020012 t0 = time.perf_counter()
Guido van Rossumbd9f0931998-07-17 21:10:42 +000013 try:
14 for i in range(n):
Raymond Hettingerff41c482003-04-06 09:01:11 +000015 result = func(*args, **kw)
Guido van Rossumbd9f0931998-07-17 21:10:42 +000016 return result
17 finally:
Victor Stinnerfe98e2f2012-04-29 03:01:20 +020018 t1 = time.perf_counter()
Guido van Rossumbd9f0931998-07-17 21:10:42 +000019 if n > 1:
Guido van Rossumbe19ed72007-02-09 05:37:30 +000020 print(n, "times", end=' ')
21 print(func.__name__, "%.3f" % (t1-t0), "CPU seconds")
Guido van Rossumbd9f0931998-07-17 21:10:42 +000022
23main()