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. -- https://mail.python.org/mailman/listinfo/python-list