]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Dictionary optimizations:
authorRaymond Hettinger <python@rcn.com>
Wed, 17 Mar 2004 21:55:03 +0000 (21:55 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 17 Mar 2004 21:55:03 +0000 (21:55 +0000)
commit4344278250a2994aefc1be03dffc37e1c35e4992
treebd6fd21b51da765ae7588dca958d11819aa77c6d
parent969d8c0c8cbef8f8b838c3032bb6beb60cb59f4f
Dictionary optimizations:

* Factored constant structure references out of the inner loops for
  PyDict_Next(), dict_keys(), dict_values(), and dict_items().
  Gave measurable speedups to each (the improvement varies depending
  on the sparseness of the dictionary being measured).

* Added a freelist scheme styled after that for tuples.  Saves around
  80% of the calls to malloc and free.  About 10% of the time, the
  previous dictionary was completely empty; in those cases, the
  dictionary initialization with memset() can be skipped.
Objects/dictobject.c