Numpy slow at vector cross product?
Nobody
nobody at nowhere.invalid
Mon Nov 21 12:04:32 EST 2016
On Mon, 21 Nov 2016 14:53:35 +0000, BartC wrote:
> Also that the critical bits were not implemented in Python?
That is correct. You'll notice that there aren't any loops in numpy.cross.
It's just a wrapper around a bunch of vectorised operations (*, -, []).
If you aren't taking advantage of vectorisation, there's no reason to
expect numpy to be any faster than primitive operations, any more than
you'd expect
(numpy.array([1]) + numpy.array([2])[0]
to be faster than "1+2".
Beyond that, you'd expect a generic function to be at a disadvantage
compared to a function which makes assumptions about its arguments.
Given what it does, I wouldn't expect numpy.cross() to be faster for
individual vectors if it was written in C.
More information about the Python-list
mailing list