re.search much slower then grep on some regular expressions
John Nagle
nagle at animats.com
Sat Jul 5 00:23:19 EDT 2008
Henning_Thornblad wrote:
> What can be the cause of the large difference between re.search and
> grep?
>
> This script takes about 5 min to run on my computer:
> #!/usr/bin/env python
> import re
>
> row=""
> for a in range(156000):
> row+="a"
> 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?
>
> Thanks...
> Henning Thornblad
You're recompiling the regular expression on each use.
Use "re.compile" before the loop to do it once.
John Nagle
More information about the Python-list
mailing list