am fb74a21f: am f885d876: Merge change I2bdc7ec9 into eclair

Merge commit 'fb74a21f4792e08c1ebee5d0347698885e31d805'

* commit 'fb74a21f4792e08c1ebee5d0347698885e31d805':
  Speed up warn.py about 30x by precompiling all the regular expressions.
This commit is contained in:
Marco Nelissen 2009-10-12 11:41:42 -07:00 committed by Android Git Automerger
commit a470587e5c
1 changed files with 9 additions and 7 deletions

View File

@ -460,8 +460,8 @@ def dumpseverity(sev):
def classifywarning(line):
for i in warnpatterns:
for pat in i['patterns']:
if re.match(pat, line):
for cpat in i['compiledpatterns']:
if cpat.match(line):
i['members'].append(line)
return
else:
@ -470,7 +470,12 @@ def classifywarning(line):
# 2 or more concurrent compiles
pass
# precompiling every pattern speeds up parsing by about 30x
def compilepatterns():
for i in warnpatterns:
i['compiledpatterns'] = []
for pat in i['patterns']:
i['compiledpatterns'].append(re.compile(pat))
infile = open(sys.argv[1], 'r')
warnings = []
@ -481,6 +486,7 @@ targetvariant = 'unknown'
linecounter = 0
warningpattern = re.compile('.* warning:.*')
compilepatterns()
# read the log file and classify all the warnings
lastmatchedline = ''
@ -515,7 +521,3 @@ dumpseverity(severity.HARMLESS)
dumpseverity(severity.UNKNOWN)
dumpfixed()