• [^] # Re: Compilation ?

    Posté par (site web personnel) . En réponse à la dépêche Entretien avec des développeurs Python francophones. Évalué à 9.

    Ça me paraît être une bonne idée ça.

    Pour rester compatible avec les bibliothèques existantes on utiliserait libpython pour gérer les objets python, et pour tout les types simples, on rajouterai des instructions pour « définir » le type C correspondant, par exemple au lieu de

    def f(x):
     return x**2-x
    def integrate_f(a, b, N):
     s = 0
     dx = (b-a)/N
     for i in range(N):
     s += f(a+i*dx)
     return s * dx
    

    on aurait

    def f(double x):
     return x**2-x
    def integrate_f(double a, double b, int N):
     cdef int i
     cdef double s, dx
     s = 0
     dx = (b-a)/N
     for i in range(N):
     s += f(a+i*dx)
     return s * dx
    

    Voire même mieux, on stockerait ces définitions dans des fichiers externes pour ne pas avoir à toucher au code python existant.

    Et je suis sur qu'on aurait des performances exceptionnelles ( 30x plus rapide en moyenne ? )

    e qui s'appelorio cython

    http://cython.org/