[Numpy-discussion] Cython numerical syntax revisited
Sturla Molden
sturla at molden.no
Thu Mar 5 05:18:34 EST 2009
On 3/5/2009 8:51 AM, Dag Sverre Seljebotn wrote:
> What's your take on Blitz++? Around here when you say C++ and numerical
> in the same sentence, Blitz++ is what they mean.
I have not looked at it for a long time (8 years or so). It is based on
profane C++ templates that makes debugging impossible. The compiler does
not emit meaningful diagnostic messages, and very often the compiler
cannot tell on which line the error occurred. It was efficient for small
arrays if loops could be completely unrolled by the template
metaprogram. For large arrays, it produced intermediate arrays as no C++
compiler could do escape analysis.
> Introducing this syntax would actually mean less time to focus on "real
> usability issues" like that. OTOH, if the syntax I propose is superior,
> it's better to introduce it early in a long-term perspective.
There is not much difference between
cdef int[:,:] array
and
cdef numpy.ndarray[int, dim=2] array
except that the latter is a Python object. The only minor issue with
that is the GIL. On the other hand, the former is not a Python object,
which means it is not garbage collected.
S.M.
More information about the NumPy-Discussion
mailing list