• Victor Stinner's avatar
    Optimize bytearray % args · 772b2b09
    Victor Stinner yazdı
    Issue #25399: Don't create temporary bytes objects: modify _PyBytes_Format() to
    create work directly on bytearray objects.
    
    * Rename _PyBytes_Format() to _PyBytes_FormatEx() just in case if something
      outside CPython uses it
    * _PyBytes_FormatEx() now uses (char*, Py_ssize_t) for the input string, so
      bytearray_format() doesn't need tot create a temporary input bytes object
    * Add use_bytearray parameter to _PyBytes_FormatEx() which is passed to
      _PyBytesWriter, to create a bytearray buffer instead of a bytes buffer
    
    Most formatting operations are now between 2.5 and 5 times faster.
    772b2b09
bytearrayobject.c 93.3 KB