[issue1943] improved allocation of PyUnicode objects
Marc-Andre Lemburg
report at bugs.python.org
Sun Jan 27 00:27:35 CET 2008
Marc-Andre Lemburg added the comment:
The Unicode object was designed not to be a PyVarObject (in contrast to
the string object), so I'm not sure what you would want to break that
design in return for a mere 10% speedup.
Note that turning the objects into PyVarObjects removes the ability to
extend the type at C level. It also introduces lots of problems if you
want to resize a Unicode object, due to the fact that the memory address
of the whole PyUnicodeObject can change. Resizing is done quite often in
codecs.
Regarding your second point: Unicode objects already use a free list and
even keep the allocated Py_UNICODE buffer allocated (if it's not too
large). Furthermore, the allocation is handled by pymalloc, so you only
rarely need to go to the system malloc() to allocate more space.
Tuning the KEEPALIVE_SIZE_LIMIT will likely have similar effects w/r to
speedup.
----------
nosy: +lemburg
__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue1943>
__________________________________
More information about the Python-bugs-list
mailing list