[CalendarServer-changes] [6153] CalendarServer/trunk/contrib/performance/benchmark.py

source_changes at macosforge.org source_changes at macosforge.org
Fri Aug 20 09:23:31 PDT 2010


Revision: 6153
          http://trac.macosforge.org/projects/calendarserver/changeset/6153
Author:   exarkun at twistedmatrix.com
Date:     2010-08-20 09:23:31 -0700 (Fri, 20 Aug 2010)
Log Message:
-----------
benchmark multiple things in one run

Modified Paths:
--------------
    CalendarServer/trunk/contrib/performance/benchmark.py

Modified: CalendarServer/trunk/contrib/performance/benchmark.py
===================================================================
--- CalendarServer/trunk/contrib/performance/benchmark.py	2010-08-20 16:22:29 UTC (rev 6152)
+++ CalendarServer/trunk/contrib/performance/benchmark.py	2010-08-20 16:23:31 UTC (rev 6153)
@@ -206,24 +206,25 @@
 
 
 @inlineCallbacks
-def benchmark(directory, name, measure):
+def benchmark(directory, label, benchmarks):
     # Figure out which pids we are benchmarking.
     pids = instancePIDs(directory)
 
-    parameters = [1, 10, 20]
-    samples = 5
+    parameters = [1, 9, 81]
+    samples = 100
 
     statistics = {}
 
-    statistics[name] = {}
-    for p in parameters:
-        print 'Parameter at', p
-        dtrace = DTraceCollector("io_measure.d", pids)
-        data = yield measure(dtrace, p, samples)
-        statistics[name][p] = data
+    for (name, measure) in benchmarks:
+        statistics[name] = {}
+        for p in parameters:
+            print 'Parameter at', p
+            dtrace = DTraceCollector("io_measure.d", pids)
+            data = yield measure(dtrace, p, samples)
+            statistics[name][p] = data
 
     fObj = file(
-        '%s-%s' % (name, datetime.now().isoformat()), 'w')
+        '%s-%s' % (label, datetime.now().isoformat()), 'w')
     dump(statistics, fObj, 2)
     fObj.close()
 
@@ -233,7 +234,8 @@
     from twisted.python.failure import startDebugMode
     startDebugMode()
     d = benchmark(
-        sys.argv[1], sys.argv[2], namedAny(sys.argv[2]).measure)
+        sys.argv[1], sys.argv[2],
+        [(arg, namedAny(arg).measure) for arg in sys.argv[3:]])
     d.addErrback(err)
     d.addCallback(lambda ign: reactor.stop())
     reactor.run()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100820/23b9c977/attachment.html>


More information about the calendarserver-changes mailing list