Amaury Forgeot d'Arc <amaur...@gmail.com> added the comment: Looking at the comments, it seems that the performance gain comes from the removal of the double allocation which is needed by the current design.
Was the following implementation considered: - keep the current PyUnicodeObject structure - for small strings, allocate one chunk of memory: sizeof(PyUnicodeObject)+2*length. Then set self->str=(Py_UNICODE*)(self+1); - for large strings, self->str may be allocated separately. - unicode_dealloc() must be careful and not free self->str if it is contiguous to the object (it's probably a good idea to reuse the self->state field for this purpose). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue1943> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com