numarray.array can be VERY slow
Steven Bethard
steven.bethard at gmail.com
Sun Apr 10 16:31:04 EDT 2005
Edward C. Jones wrote:
> Steven Bethard wrote:
>
> > As mentioned, this has nothing to do with numarray, and everything to
> > do with your inexplicable use of lists. Why don't you just write this
> > as:
> >
> > arr = numarray.ones((8, 8, 256, 256), Float64)
>
> The code I posted was simplified from a larger program which I have now
> revised. But I still ask: why did it take 4.3 seconds to run?
And I repeat, because you were using lists, not numarray. ;) If you
want a numarray array, create it directly, don't create it from lists.
What's your real code look like? Are you sure you need two nested
loops? If you're sure, can you do something like
import numarray as na
arr = na.zeros((8, 8, 256, 256))
for i in xrange(8):
for j in xrange(8):
arr[i,j] = na.ones((256, 256))
where you allocate the array first and then fill it?
STeVe
More information about the Python-list
mailing list