[Numpy-discussion] optimizing ndarray.__setitem__

Christoph Groth cwg at falma.de
Wed May 4 09:19:20 EDT 2011


Dear numpy experts,

I have noticed that with Numpy 1.5.1 the operation

m[::2] += 1.0

takes twice as long as

t = m[::2]
t += 1.0

where "m" is some large matrix.  This is of course because the first
snippet is equivalent to

t = m[::2]
t += 1.0
m[::2] = t

I wonder whether it would not be a good idea to optimize
ndarray.__setitem__ to not execute an assignment of a slice onto itself.
Is there any good reason why this is not being done already?

best,
Christoph




More information about the NumPy-Discussion mailing list