#!/usr/bin/python -tt from time import time LOOPS = 10000 t1 = time() l1 = [] for x in xrange(LOOPS): if x % 2 == 0: l1.append(x) t2 = time() l2 = [x for x in xrange(LOOPS) if x % 2 == 0] t3 = time() l3 = [] append = l3.append for x in xrange(LOOPS): if x % 2 == 0: append(x) t4 = time() l4 = filter(lambda x: x % 2 == 0, xrange(LOOPS)) t5 = time() x = lambda x: x % 2 == 0 l5 = filter(x, xrange(LOOPS)) t6 = time() assert l1 == l2 == l3 == l4 == l5 a = t2 - t1 b = t3 - t2 c = t4 - t3 d = t5 - t4 e = t6 - t5 print 'l1 =', a print 'l2 =', b, ((a - b) / a) * 100 print 'l3 =', c, ((a - c) / a) * 100 print 'l4 =', d, ((a - d) / a) * 100 print 'l5 =', e, ((a - e) / a) * 100