> I did a bit of benchmarking of various versions on my FreeBSD box ... I > may have got a bit carried away ;) Am still reading the details of your thorough posting. Excellent documentation, thank you. If you're up for a couple of more runs, I would appreciate independent timing and testing of my dictionary freelist patch, www.python.org/sf/916251 , which may or may not be an improvement. Also, here are additional fun scorecards that will probably also all show wins (too bad you can't measure memory consumption or code volume which also improved): python timeit.py -r9 "[1].pop()" python timeit.py -r9 -s "a=[];b=a.append;c=a.pop" "b(1);c()" python timeit.py -r9 "[None]*500" python timeit.py -r9 -s "dc={}.__contains__" "dc(1)" python timeit.py -r9 -s "a=b=[None]*500" "a+b" python timeit.py -r9 -s "a=[None]*500" "a[:]" python timeit.py -r9 -s "a=(None,)*50" "list(a)" python timeit.py -r9 -s "import itertools" "list(itertools.repeat(None,500))" python timeit.py -r9 -s "import itertools" "list(itertools.chain(xrange(500)))" python timeit.py -r9 "xrange(500)" python timeit.py -r9 -s "a=[1]; ag=a.__getitem__", "ag[0]" Raymond Hettinger
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4