diff options
| author | Clark Williams <williams@redhat.com> | 2009-10-13 11:40:20 -0500 |
|---|---|---|
| committer | Clark Williams <williams@redhat.com> | 2009-10-13 11:42:33 -0500 |
| commit | cf073569e36bbf3dc28e140aaa912d135bfdc2f6 (patch) | |
| tree | 699a1080f9f4ce57b7d2f6695496394905bef8c9 | |
| parent | dbda4bec63bbf11ac9f9dba2e655670ebd0ec845 (diff) | |
reworked stats calculation in Rundata::reduce()
avoid looping so much when calculating MAD and variance
| -rw-r--r-- | rteval/cyclictest.py | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/rteval/cyclictest.py b/rteval/cyclictest.py index c1cebb5..91eda2c 100644 --- a/rteval/cyclictest.py +++ b/rteval/cyclictest.py @@ -105,14 +105,8 @@ class RunData(object): madsum = 0 varsum = 0 for i in keys: - # DON'T try using range(0, samples[i] here! - # that will create a potentially HUGE list and - # in many cases exhaust memory - j = 0 - while j < self.samples[i]: - madsum += float(abs(i - self.mean)) - varsum += float((i - self.mean) ** 2) - j += 1 + madsum += float(abs(float(i) - self.mean) * self.samples[i]) + varsum += float(((float(i) - self.mean) ** 2) * self.samples[i]) self.mad = madsum / self.numsamples self.variance = varsum / (self.numsamples - 1) |
