[Numpy-discussion] numpy 10x slower than native Python arrays for simple operations?
Charles R Harris
Sat Feb 6 15:50:34 CST 2010
On Sat, Feb 6, 2010 at 2:21 PM, Joseph Turian <firstname.lastname@example.org> wrote:
> I have done some profiling, and the results are completely
> counterintuitive. For simple array access operations, numpy and
> array.array are 10x slower than native Python arrays.
> I am using numpy 1.3.0, the standard Ubuntu 9.03 package.
> Why am I getting such slow access speeds?
> Note that for "array access", I am doing operations of the form:
> a[i] += 1
>  * 20000000
> Access: 2.3M / sec
> Initialization: 0.8s
> numpy.zeros(shape=(20000000,), dtype=numpy.int32)
> Access: 160K/sec
> Initialization: 0.2s
> array.array('L',  * 20000000)
> Access: 175K/sec
> Initialization: 2.0s
> array.array('L', (0 for i in range(20000000)))
> Access: 175K/sec, presumably, based upon the profile for the other
> Initialization: 6.7s
> Any idea why my numpy array access is so slow?
Without seeing the whole script it is hard to tell. But numpy indexing is
slow and should be avoided when possible.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion