]> granicus.if.org Git - python/commitdiff
Issue #22510: Get rid of little overhead of testing re.DEBUG flag.
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 29 Sep 2014 15:13:02 +0000 (18:13 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 29 Sep 2014 15:13:02 +0000 (18:13 +0300)
Lib/re.py

index 2a410c8d7676b7e935a5d88c4c8625f8fc5b4ae1..8f5b3995a6a5fcdce6cf0c8c4c0e2091474e357b 100644 (file)
--- 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