summaryrefslogtreecommitdiffstats
path: root/Modules/sre_constants.h
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-02-14 18:34:46 (GMT)
committerRaymond Hettinger <python@rcn.com>2004-02-14 18:34:46 (GMT)
commitab517d2eacba7fec5f31dd25b8e43dca678cda53 (patch)
tree9c5c5930186f315128c6979e9159426b2825f7b2 /Modules/sre_constants.h
parent2731ae4d6dbf887c698ba7e62590a4f27df62bb9 (diff)
downloadcpython-ab517d2eacba7fec5f31dd25b8e43dca678cda53.zip
cpython-ab517d2eacba7fec5f31dd25b8e43dca678cda53.tar.gz
cpython-ab517d2eacba7fec5f31dd25b8e43dca678cda53.tar.bz2
Fine tune the speed/space trade-off for overallocating small lists.
The Py2.3 approach overallocated small lists by up to 8 elements. The last checkin would limited this to one but slowed down (by 20 to 30%) the creation of small lists between 3 to 8 elements. This tune-up balances the two, limiting overallocation to 3 elements (significantly reducing space consumption from Py2.3) and running faster than the previous checkin. The first part of the growth pattern (0, 4, 8, 16) neatly meshes with allocators that trigger data movement only when crossing a power of two boundary. Also, then even numbers mesh well with common data alignments.
Diffstat (limited to 'Modules/sre_constants.h')
0 files changed, 0 insertions, 0 deletions