def testDict(limit):
i = 0
d = {}
while i < limit:
s = str(i) + "foo"
d[i] = i
d[s+"dict"] = {s: i, i: s}
i += 1
for k in d:
pass
def testList(limit):
i = 0
l = []
while i < limit:
s = str(i) + "foo"
l.append(s)
l.append({s: i, i: s})
i += 1
for k in l:
pass
if __name__ == '__main__':
from timeit import Timer
for i in (1000, 10000, 100000, 1000000):
print "timed with", i, "members:"
t1 = Timer("testDict(%s)" % i, "from __main__ import testDict")
print "dicts:", "%.2f usec/pass" % (1000000 * t1.timeit(number=5)/5.0)
t2 = Timer("testList(%s)" % i, "from __main__ import testList")
print "lists:", "%.2f usec/pass" % (1000000 * t2.timeit(number=5)/5.0), "\n"