pythran(python - object)= OpenMP + c++

Type:
pyconfr
Audience level:
Intermediate
Category:
présentation
Septembre 16th 2 après-midi – 2:30 après-midi

Description

Pythran est un jeune générateur de C++11 prenant en entrée un sous ensemble du langage python. L'usage à outrance des classes et fonctions patrons couplé à une détection de certaines constructions parallèles permet de générer un code efficace qui ne pâlit pas de la comparaison avec shedskin ou PyPy.

Abstract

Pythran est un générateur de code C++ qui permet de convertir en modules natifs des modules pythons respectant certaines contraintes, notamment l'absence de classes utilisateurs et d'introspection, et un code implicitement typé statiquement. Suivant le principe du KISS, il génère un code C++11 de haut niveau reposant abusivement sur un runtime efficace et l'utilisation des fonctions et classes patrons, et l'inférence de type introduite dans le dernier standard. Par ailleurs, le compilateur pythran est capable de reconnaitre certaines formes de parallélisme et de générer automatiquement les directives OpenMP correspondantes.

Grâce à cette approche et malgré un code relativement jeune et une équipe de développement réduite à sa plus simple expression, pythran est déjà capable de générer du code s'exécutant plus rapidement que celui généré par shedskin ou interprété par pypy. ~