Il faut noter que Numba a plus ou moins le même but que Pypy ou Pyston, un des problème avec la standard lib python (très bien pointé par Steven Johnson lors de la keynote EuroSciPy) est que pour être efficace il faut une stabilité des types. Or beaucoup de fonction historique dans python renvoient des types variable (None, NotImplemented (!= NotImplementedError raise), qund qqch se passe mal ) ce qui empèche une optimisation complexe au travers de plusieurs niveaux d'appel de fonctions. Aussi la résolution dynamique des objets rend difficile l'analyse statique des comment python doit se comporter, et donc d'inférer les optimisation. Beaucoup des détails d'implementation CPython fuient dans le standard du language ce qui rends l'utilisation d'outils comme numba pour un python non-scientifique quasi impossible sans changement profond dans l'architecture de python. Ce qui n'arrivera pas, car personne ne veux d'un passage Python 3.x - 4.0 comme fut le passage 2.x -> 3.0.
[^] # Re: Retour sur cpython ?
Posté par mbussonn . En réponse à la dépêche Numba 0.14. Évalué à 3.
Il faut noter que Numba a plus ou moins le même but que Pypy ou Pyston, un des problème avec la standard lib python (très bien pointé par Steven Johnson lors de la keynote EuroSciPy) est que pour être efficace il faut une stabilité des types. Or beaucoup de fonction historique dans python renvoient des types variable (None, NotImplemented (!= NotImplementedError raise), qund qqch se passe mal ) ce qui empèche une optimisation complexe au travers de plusieurs niveaux d'appel de fonctions. Aussi la résolution dynamique des objets rend difficile l'analyse statique des comment python doit se comporter, et donc d'inférer les optimisation. Beaucoup des détails d'implementation CPython fuient dans le standard du language ce qui rends l'utilisation d'outils comme numba pour un python non-scientifique quasi impossible sans changement profond dans l'architecture de python. Ce qui n'arrivera pas, car personne ne veux d'un passage Python 3.x - 4.0 comme fut le passage 2.x -> 3.0.