• Victor Stinner's avatar
    Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args) · d3f0882d
    Victor Stinner authored
     * Formatting string, int, float and complex use the _PyUnicodeWriter API. It
       avoids a temporary buffer in most cases.
     * Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just
       keep a reference to the string if the output is only composed of one string
     * Disable overallocation when formatting the last argument of str%args and
       str.format(args)
     * Overallocation allocates at least 100 characters: add min_length attribute
       to the _PyUnicodeWriter structure
     * Add new private functions: _PyUnicode_FastCopyCharacters(),
       _PyUnicode_FastFill() and _PyUnicode_FromASCII()
    
    The speed up is around 20% in average.
    d3f0882d
NEWS 332 KB