All pastes #545866 Raw Edit

Stuff

public text v1 · immutable
·published 2007-06-06 22:02 UTC
rendered paste body
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"