[Numpy-discussion] Add guaranteed no-copy to array creation and reshape?

Todd toddrjen at gmail.com
Thu Jan 10 02:33:05 EST 2019


On Mon, Jan 7, 2019, 14:22 Feng Yu <rainwoodman at gmail.com wrote:

> Hi,
>
> Was it ever brought up the possibility of a new array class (ndrefonly,
> ndview) that is strictly no copy?
>
> All operations on ndrefonly will return ndrefonly and if the operation
> cannot be completed without making a copy, it shall throw an error.
>
> On the implementation there are two choices if we use subclasses:
>
> - ndrefonly can be a subclass of ndarray. The pattern would be subclass
> limiting functionality of super, but ndrefonly is a ndarray.
> - ndarray as a subclass of ndarray. Subclass supplements functionality of
> super. : ndarray will not throw an error when a copy is necessary. However
> ndarray is not a ndarray.
>
> If we want to be wild they do not even need to be subclasses of each
> other, or maybe they shall both be subclasses of something more
> fundamental.
>
> - Yu
>

I would prefer a flag for this.  Someone can make an array read-only by
setting `arr.flags.writable=False`.  So along those lines, we could have a
`arr.flags.copyable` flag that if set to `False` would result in an error
of any operation tried to copy the data.

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20190110/6a4763c3/attachment.html>


More information about the NumPy-Discussion mailing list