minor cache based optimization

This commit is contained in:
Miroslav Stampar
2010-12-14 12:22:17 +00:00
parent 270ae0f080
commit b75d7fa348
2 changed files with 13 additions and 5 deletions
+12 -5
View File
@@ -1290,13 +1290,20 @@ def stdev(values):
if not values or len(values) < 2:
return None
summa = 0.0
avg = average(values)
key = (values[0], values[-1], len(values))
for value in values:
summa += pow(value - avg, 2)
if key in kb.cache.stdev:
return kb.cache.stdev[key]
else:
summa = 0.0
avg = average(values)
return sqrt(summa/(len(values) - 1))
for value in values:
summa += pow(value - avg, 2)
retVal = sqrt(summa/(len(values) - 1))
kb.cache.stdev[key] = retVal
return retVal
def average(values):
"""
+1
View File
@@ -1125,6 +1125,7 @@ def __setKnowledgeBaseAttributes():
kb.cache = advancedDict()
kb.cache.content = {}
kb.cache.regex = {}
kb.cache.stdev = {}
kb.commonOutputs = None