From: Serhiy Storchaka Date: Mon, 29 Sep 2014 15:13:02 +0000 (+0300) Subject: Issue #22510: Get rid of little overhead of testing re.DEBUG flag. X-Git-Tag: v3.5.0a1~828 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4d75a01798cf0ff112335804382bd4bf50f7bf78;p=python Issue #22510: Get rid of little overhead of testing re.DEBUG flag. --- diff --git a/Lib/re.py b/Lib/re.py index 2a410c8d76..8f5b3995a6 100644 --- a/Lib/re.py +++ b/Lib/re.py @@ -273,12 +273,10 @@ _pattern_type = type(sre_compile.compile("", 0)) _MAXCACHE = 512 def _compile(pattern, flags): # internal: compile pattern - bypass_cache = flags & DEBUG - if not bypass_cache: - try: - return _cache[type(pattern), pattern, flags] - except KeyError: - pass + try: + return _cache[type(pattern), pattern, flags] + except KeyError: + pass if isinstance(pattern, _pattern_type): if flags: raise ValueError( @@ -287,7 +285,7 @@ def _compile(pattern, flags): if not sre_compile.isstring(pattern): raise TypeError("first argument must be string or compiled pattern") p = sre_compile.compile(pattern, flags) - if not bypass_cache: + if not (flags & DEBUG): if len(_cache) >= _MAXCACHE: _cache.clear() _cache[type(pattern), pattern, flags] = p