import timeit, new, time, dis MULTIPLIER = 1 def test_local_get(): x = 0 x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x def test_local_set(): x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0 def test_global_get(): x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x def test_global_set(): global x x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0; x = 0 def test_builtin_get(): len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; len; lists = [[x for x in xrange(y)] for y in xrange(1, 1000)] def test_listcomp(): [set(sub) for sub in lists if len(sub) <= 5] def test_func_call(): def inner_function(): pass for i in xrange(1000): inner_function(); dict_range = ['%i' % i for i in range(1000)] def test_dict_insert_del(): d = {} for i in dict_range: d[i] = i for i in dict_range: del d[i] test_dict = dict((i, i) for i in dict_range) def test_dict_set(): d = test_dict for i in dict_range: d[i] = i def test_dict_get(): d = test_dict for i in dict_range: d[i] print 'Dict insert/del:', timeit.Timer('test_dict_insert_del()', 'from __main__ import test_dict_insert_del').timeit(number=10000 * MULTIPLIER) print 'Dict get:', timeit.Timer('test_dict_get()', 'from __main__ import test_dict_get').timeit(number=10000 * MULTIPLIER) print 'Dict set:', timeit.Timer('test_dict_set()', 'from __main__ import test_dict_set').timeit(number=10000 * MULTIPLIER) print 'Local get:', timeit.Timer('test_local_get()', 'from __main__ import test_local_get').timeit(number=100000 * MULTIPLIER) print 'Local set:', timeit.Timer('test_local_set()', 'from __main__ import test_local_set').timeit(number=100000 * MULTIPLIER) print 'Global get:', timeit.Timer('test_global_get()', 'from __main__ import test_global_get').timeit(number=100000 * MULTIPLIER) print 'Global set:', timeit.Timer('test_global_set()', 'from __main__ import test_global_set').timeit(number=100000 * MULTIPLIER) print 'Builtin get:', timeit.Timer('test_builtin_get()', 'from __main__ import test_builtin_get').timeit(number=100000 * MULTIPLIER) print 'Function call:', timeit.Timer('test_func_call()', 'from __main__ import test_func_call').timeit(number=10000 * MULTIPLIER) print 'List comp:', timeit.Timer('test_listcomp()', 'from __main__ import test_listcomp').timeit(number=10000 * MULTIPLIER)