Hi Cython dev,

I am one of the two core developers of the Pythran[0] compiler.
We are planning to start a project where Cython would delegate the
generation of optimized (i.e. parallel / vectorized / without temporary
arrays) numpy expression when it finds one, instead of calling the
native API. Something like the following meaningless example:

    import numpy as np
    cimport numpy as np

    def play_with_arrays(np.ndarray arr):
        cdef int N = arr.shape[0]
        cdef np.ndarray other_arr = np.empty([N], dtype=np.int)

        other_arr = arr ** 2 + 1 # pythran would handle this

        for i in range(N):
            other_arr[i] /=  2 # cython would handle this

        return  other_arr

Everything would live in a pyx file and it should be transparent to a
cython user. Cython would drive the compilation process, using pythran
as a numpy expression optimizer.

Does that look feasible / appealing to you?

[0] http://pythonhosted.org/pythran/
_______________________________________________
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel

Reply via email to