On Wed, Jul 14, 2010 at 7:47 PM, Carl Witty <[email protected]> wrote: > On Wed, Jul 14, 2010 at 6:59 PM, Robert Bradshaw > <[email protected]> wrote: >>> In my experience, I always have to resort to Fortran or C++. Cython cannot >>> use NumPy arrays efficiently as function arguments. That is a big show >>> stopper. >> >> Could you clarify? I suppose for very small arrays, there's the extra >> O(1) type-check/stride extraction overhead. Is there anything else? Of >> course there's always more room for improvement for the array type. > > Sometimes I write functions that don't iterate over every element of > their argument arrays :)
Good point. How does Fortran handle this better? Does it just know that the strides are not aliased? (Or, does it know dimensions/other data at compile time.) > In particular, I remember that when I was writing > sage/plot/plot3d/implicit_surface.pyx, I wanted to make several chunks > of code into methods but decided not to for efficiency reasons. (I'm > not sure if I actually measured, or if I was just worried.) For reference, http://hg.sagemath.org/sage-main/file/8dec8b43ccca/sage/plot/plot3d/implicit_surface.pyx#l1 > If I was doing it again, I think I'd give up on the Cython numpy > support and just use C pointers in that code... Clearly we need to be doing thing better :). - Robert _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
