-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
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