Serhiy Storchaka added the comment: Here is a patch that adds a free list for 1-digit long objects.
$ ./python -m timeit -s "r = range(10**3)" -- "for i in r: pass" Unpatched: 10000 loops, best of 3: 54.4 usec per loop With free list: 10000 loops, best of 3: 38 usec per loop With hacked range: 10000 loops, best of 3: 34.5 usec per loop Python 2.7: 10000 loops, best of 3: 37.1 usec per loop $ ./python -m timeit -s "r = list(range(10**3))" -- "for i in r: pass" 10000 loops, best of 3: 30.7 usec per loop In Python 2.7: $ ./python -m timeit -s "r = xrange(10**3)" -- "for i in r: pass" 10000 loops, best of 3: 41.4 usec per loop $ ./python -m timeit -s "r = range(10**3)" -- "for i in r: pass" 10000 loops, best of 3: 37.1 usec per loop ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue24138> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com