This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients serhiy.storchaka, vstinner
Date 2015-10-09.12:13:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1444392822.73.0.0714587534509.issue25353@psf.upfronthosting.co.za>
In-reply-to
Content
Attached patch modifies unicode escape and raw unicode escape encoders to use the new _PyBytesWriter API.

The patch is optimized to encode Latin1 characters: encoding Latin1 characters when no character is escaped should not have to call _PyByte_Resize() at all.

When characters are escaped or a BMP or non-BMP string is encoded, overallocation is used to reduce the number of _PyByte_Resize(). It uses _PyBytesWriter overallocation strategy instead of always overallocate for the worst case.

_PyBytesWriter also embeds a small buffer allocated on the stack which also avoids calls to _PyBytes_Resize() when the output fits into 512 bytes.
History
Date User Action Args
2015-10-09 12:13:42vstinnersetrecipients: + vstinner, serhiy.storchaka
2015-10-09 12:13:42vstinnersetmessageid: <1444392822.73.0.0714587534509.issue25353@psf.upfronthosting.co.za>
2015-10-09 12:13:42vstinnerlinkissue25353 messages
2015-10-09 12:13:42vstinnercreate