All pastes #268101 Raw Edit

Untitled

public text v1 · immutable
·published 2006-12-05 09:47 UTC
rendered paste body
from 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