Index: doc/core/benchmarks/printtimer.py
===================================================================
--- doc/core/benchmarks/printtimer.py	(revision 0)
+++ doc/core/benchmarks/printtimer.py	(revision 0)
@@ -0,0 +1,34 @@
+"""A Timer that prints the results"""
+
+import gc
+gc.disable()
+print 'Disabled GC'
+
+def timeit(func, iter = 1000, *args, **kwargs):
+    """timeit(func, iter = 1000 *args, **kwargs) -> elapsed time
+    
+    calls func iter times with args and kwargs, returns time elapsed
+    """
+
+    import time
+    r = xrange(iter)
+    times = []
+    clocks = []
+    outer_iter = kwargs.pop('outer_iter', 1)
+    for i in xrange(outer_iter):
+        t = time.time()
+        c = time.clock()
+        for i in r:
+            func(*args, **kwargs)
+        new_time = time.time()
+        new_clock = time.clock()
+        times.append(new_time - t)
+        clocks.append(new_clock - c)
+    _print_times('Times', times)
+    _print_times('Clocks', clocks)
+
+def _print_times(label, samples):
+    ss = sorted(samples)
+    print label
+    print '  Median: %s' % (ss[len(ss)//2],)
+    print '  Avg: %s' % (1.0 * sum(ss) / len(ss),)
Index: doc/core/benchmarks/defer.py
===================================================================
--- doc/core/benchmarks/defer.py	(revision 0)
+++ doc/core/benchmarks/defer.py	(revision 0)
@@ -0,0 +1,38 @@
+from twisted.internet import defer
+from printtimer import timeit
+
+def instantiate():
+    d = defer.Deferred()
+
+def instantiate_shoot_callback():
+    d = defer.Deferred()
+    d.callback(1)
+
+def instantiate_shoot_errback():
+    d = defer.Deferred()
+    try:
+        1/0
+    except:
+        d.errback()
+    d.addErrback(lambda x: None)
+
+def instantiate_add_callbacks_before_result():
+    d = defer.Deferred()
+    def f(result):
+        return result
+    d.addCallback(f)
+    d.addErrback(f)
+    d.addBoth(f)
+    d.addCallbacks(f)
+
+funcs = [
+    instantiate,
+    instantiate_shoot_callback,
+    instantiate_shoot_errback,
+    instantiate_add_callbacks_before_result,
+]
+
+print defer.Deferred.__module__
+for func in funcs:
+    print func
+    timeit(func, outer_iter=20)
