On Sat, Mar 23, 2013 at 12:42 AM, Gregory P. Smith email@example.com wrote:
On Fri, Mar 22, 2013 at 3:31 PM, Ronny Pfannschmidt Ronny.Pfannschmidt@gmx.de wrote:
while reviewing urllib.parse i noticed a pretty ugly pattern
many functions had an attached global and in their own code they would compile an regex on first use and assign it to that global
its clear that compiling a regex is expensive, so having them be compiled later at first use would be of some benefit
It isn't expensive to do,
Sometimes it is, see e.g. http://bugs.python.org/issue11454.
Best Regards, Ezio Melotti
it is expensive to do repeatedly for no reason. Thus the use of compiled regexes. Code like this would be better off refactored to reference a precompiled global rather than conditionally check if it needs compiling every time it is called.
but instead of all that reptetive code there should be an alternative to re.compile that waits with compilation for the first use