Pythran est un compilateur pour le Python scientifique qui se distingue par des performances importantes pour du code de haut niveau.
Cette présentation se concentre sur les boucles, ou plutôt l'absence de boucle dans les codes numériques, pourquoi on les évite, ce que ça apporte, et pourquoi ce n'est pas si grave de les utiliser.
La boucle. Un pilier de la programation impérative. Et pourtant, les utilisateurs avertis de Numpy l'évite comme la peste pour des raisons de performance. Heureusement, Numpy fournit de bonnes abstractions piur s'en passer dans pas mal de cas.
Le but de cette présentation est de montrer que le compilateur Pythran, un compilateur statique pour un langage embarqué dans le couple Python / Numpy et spécialisé pour le code scientifique, est compatible avec cette approche, et qu'il en bénéficie même pour générer du code plus efficace que s'il n'avait eu que les boucles à disposition.
On tordra ainsi le cou à un vieil adage qui dit que plus on est explicite dans sa description de l'algorithme, plus on saura tirer des perfs. En pratique, si on souhaite rester au niveau Python - Pythran est 100% retro-compatible Python - rester à haut niveau n'est pas un frein.