re.search much slower then grep on some regular expressions
nagle at animats.com
Sat Jul 5 06:23:19 CEST 2008
> What can be the cause of the large difference between re.search and
> This script takes about 5 min to run on my computer:
> #!/usr/bin/env python
> import re
> for a in range(156000):
> print re.search('[^ "=]*/',row)
> While doing a simple grep:
> grep '[^ "=]*/' input (input contains 156.000 a in
> one row)
> doesn't even take a second.
> Is this a bug in python?
> Henning Thornblad
You're recompiling the regular expression on each use.
Use "re.compile" before the loop to do it once.
More information about the Python-list