Ver código fonte

Optimise regex pattern compilation in FindProjects

Make a list of compiled patterns once, and then iterate over that
per project, instead of compiling the patterns again on every project.

Change-Id: I91ec430d3060ec76d5e6b61facf6b13e343c90a7
David Pursehouse 12 anos atrás
pai
commit
84c4d3c345
1 arquivos alterados com 2 adições e 2 exclusões
  1. 2 2
      command.py

+ 2 - 2
command.py

@@ -188,9 +188,9 @@ class Command(object):
 
   def FindProjects(self, args):
     result = []
+    patterns = [re.compile(r'%s' % a, re.IGNORECASE) for a in args]
     for project in self.GetProjects(''):
-      for arg in args:
-        pattern = re.compile(r'%s' % arg, re.IGNORECASE)
+      for pattern in patterns:
         if pattern.search(project.name) or pattern.search(project.relpath):
           result.append(project)
           break