File: //usr/lib64/python2.6/site-packages/mx/Tools/mxTools/bench1.py
import hack
import mx.Tools.NewBuiltins
k = range(10000)
l = range(1,10001)
loops = trange(100)
def f(k=k,l=l,tuples=tuples,loops=loops):
for i in loops:
for a,b in tuples(k,l):
pass
def f1(k=k,l=l,lists=lists,loops=loops):
for i in loops:
for a,b in lists(k,l):
pass
def g(k=k,l=l,map=map,loops=loops):
for i in loops:
for a,b in map(None,k,l):
pass
def h(k=k,l=l,indices=indices,len=len,loops=loops):
for i in loops:
for i in indices(k):
a,b = k[i], l[i]
print 'with tuples():',
hack.clock('f()')
print 'with lists():',
hack.clock('f1()')
print 'with map():',
hack.clock('g()')
print 'indexed:',
hack.clock('h()')
print 'map(None,...):',
hack.clock('apply(map,(None,)+(k,)*100)')
print 'tuples(...):',
hack.clock('tuples((k,)*100)')
print 'lists(...):',
hack.clock('lists((k,)*100)')
# Check
assert apply(map,(None,)+(k,)*100) == tuples((k,)*100)