[CalendarServer-changes] [6164] CalendarServer/trunk/contrib/performance/stats.py
source_changes at macosforge.org
source_changes at macosforge.org
Fri Aug 20 14:17:19 PDT 2010
Revision: 6164
http://trac.macosforge.org/projects/calendarserver/changeset/6164
Author: exarkun at twistedmatrix.com
Date: 2010-08-20 14:17:19 -0700 (Fri, 20 Aug 2010)
Log Message:
-----------
report the median absolute deviation as well
Modified Paths:
--------------
CalendarServer/trunk/contrib/performance/stats.py
Modified: CalendarServer/trunk/contrib/performance/stats.py
===================================================================
--- CalendarServer/trunk/contrib/performance/stats.py 2010-08-20 21:05:16 UTC (rev 6163)
+++ CalendarServer/trunk/contrib/performance/stats.py 2010-08-20 21:17:19 UTC (rev 6164)
@@ -12,12 +12,25 @@
return sorted(samples)[len(samples) / 2]
+def residuals(samples, from_):
+ return [from_ - s for s in samples]
+
+
def stddev(samples):
m = mean(samples)
- variance = sum([(datum - m) ** 2 for datum in samples]) / len(samples)
+ variance = sum([datum ** 2 for datum in residuals(samples, m)]) / len(samples)
return variance ** 0.5
+def mad(samples):
+ """
+ Return the median absolute deviation of the given data set.
+ """
+ med = median(samples)
+ res = map(abs, residuals(samples, med))
+ return median(res)
+
+
class _Statistic(object):
commands = ['summarize']
@@ -29,6 +42,7 @@
print self.name, 'mean', mean(data)
print self.name, 'median', median(data)
print self.name, 'stddev', stddev(data)
+ print self.name, 'median absolute deviation', mad(data)
print self.name, 'sum', sum(data)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100820/c36dbfb3/attachment.html>
More information about the calendarserver-changes
mailing list