Description
Feature or enhancement
Proposal:
Add bytearray.resize()
which wraps PyByteArray_Resize
PyByteArray_Resize
is part of the C Stable API and allows efficiently expanding a bytearray object's buffer in place (when possible / most efficient) without needing to have another object which can "hold" the data temporarily or needing to copy the data from one storage to a second. (ex. bytearray.extend(itertools.range(0, 20)
, a = bytearray(); a += b'temp'
.
This can be somewhat emulated currently with appending a itertools.range
/ iterator that provides __length_hint__
, but that still requires copying byte data out of the iterator. PyByteArray_Resize
doesn't require setting / clearing the newly allocated space, just always ensures the data ends with a null byte \0
.
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response