[Numpy-discussion] Avoiding array-scalar arithmetic?
Travis Oliphant
oliphant.travis at ieee.org
Wed Sep 13 15:07:03 EDT 2006
Ryan Gutenkunst wrote:
> Hi all,
>
> I'm migrating an application from Numeric to numpy, and I've run into a
> significant application slowdown related to arithmetic on array-scalars.
>
>
Yeah, that is a common thing. There are two factors: 1) array
indexing and 2) array scalar math.
I don't think array scalar math has to be slower in principle then
Python code. I think it's ability to handle interaction with multiple
scalars that is operating more slowly right now. It could be sped up.
The array indexing code is slower (in fact Numeric's indexing code is
slower then just using lists also).
> I'm guessing speeding up the scalar-array math would be difficult, if
> not impossible. (Maybe I'm wrong?)
>
I think scalar-array math could be sped up quite a bit. I haven't done
much in that area at all. Right now a lot of setup code is handled
generically instead of type-specifically like it could be.
> I notice that numpy_array.item() will give me the first element as a
> normal scalar. Would it be possible for numpy_array.item(N) to return
> the Nth element of the array as a normal scalar?
>
Now this is an interesting idea. It would allow you to by-pass the
slow-indexing as well as the array scalar computation should you desire
it. I like it and am going to add it unless there are convincing
objections.
-Travis
More information about the NumPy-Discussion
mailing list