rendered paste bodyfrom hachoir_core.benchmark import Benchmark
from random import randint
def ordered_rules1(rules):
l = rules.items()
l.sort()
return l
def ordered_rules2(rules):
keys = rules.keys()
keys.sort()
return [(id,rules[id]) for id in keys]
data = {}
for i in xrange(1000):
data[ randint(-1000,1000) ] = randint(-1000,1000)
b = Benchmark(max_time=2.0)
b.run(ordered_rules1, data)
b.run(ordered_rules2, data)
#Run benchmark: 3514 calls (estimate: 2.00 sec)
#Benchmark: best=163.79 usec average=171.73 usec worst=921.96 usec total=603.45 ms
#Run benchmark: 5436 calls (estimate: 2.00 sec)
#Benchmark: best=350.95 usec average=387.83 usec worst=80.87 ms total=2.11 sec