[Numpy-discussion] python numpy code many times slower than c++
Wed Jan 21 14:53:37 CST 2009
> On Wednesday 21 January 2009 13:55:49 Neal Becker wrote:
>> I'm only interested in simple strided 1-d vectors. In that case, I think
>> your code already works. If you have c++ code using the iterator
>> interface, the iterators dereference will use (*array )[index]. This
>> will use operator, which will call PyArray_GETPTR. So I think this
>> will obey strides.
> You are right. I had forgotten that I had simple strided vectors working.
>> Unfortunately, it will also be slow. I suggest something like the
>> enclosed. I have done some simple tests, and it seems to work.
> I wonder why PyArray_GETPTR1 is slow. Is it because of the implied integer
> multiplication? Unfortunately, your approach means that iterators can
> become invalid if the underlying array is resized to a larger size. Hmmh,
> perhaps we could make this configurable at compile-time ...
> Thanks for the code. Could you provide some benchmarks on the relative
> speeds of the two approaches?
Do you know about pyublas? This is the same issue we ran into there. I did
not benchmark the code you sent me. I was just going by my experience with
pyublas. I guess a benchmark would be a good idea.
More information about the Numpy-discussion