fork download
  1. from timeit import Timer
  2. import re
  3.  
  4. s = '1.2.3.4.5.6.7'
  5.  
  6. def f1():
  7. return s[:s.index('.', s.index('.')+1)]
  8.  
  9. def f2():
  10. return '.'.join(s.split('.', 2)[:2])
  11.  
  12. pattern = re.compile(r'^[0-9]+\.[0-9]+')
  13. def f3():
  14.  
  15. return pattern.search(s).group()
  16.  
  17.  
  18. N = 100000
  19. print(Timer(stmt='f1()', setup='from __main__ import f1').timeit(number = N))
  20. print(Timer(stmt='f2()', setup='from __main__ import f2').timeit(number = N))
  21. print(Timer(stmt='f3()', setup='from __main__ import f3').timeit(number = N))
  22. print f1()
  23. print f2()
  24. print f3()
Success #stdin #stdout 0.4s 8840KB
stdin
Standard input is empty
stdout
0.0983459949493
0.10154914856
0.111723899841
1.2
1.2
1.2