Cython

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Cython
Date de première version 2007
Paradigme Programmation impérative, procédurale, structurée
Auteur Greg Ewing
Développeur Stefan Behnel, Robert Bradshaw, Lisandro Dalcín, Mark Florisson, Vitja Makarov, Dag Sverre Seljebotn
Dernière version 0.24 (4 апреля 2016)
0.27.3 (3 novembre 2017)Voir et modifier les données sur Wikidata
Typage statique, faible
Influencé par Python
A influencé ...
Implémentations http://cython.org
Licence Licence ApacheVoir et modifier les données sur Wikidata
Site web cython.orgVoir et modifier les données sur Wikidata

Cython est un langage de programmation et un compilateur qui simplifient l'écriture d'extensions compilées pour Python. La syntaxe du langage est très similaire à Python mais il supporte en plus un sous-ensemble du langage C/C++ (déclarations de variables, appel de fonctions, ...).

Le premier intérêt de Cython est qu'il produit du code nettement plus performant. Dans des programmes qui nécessitent par exemple la manipulation de grands tableaux, le gain peut aller jusqu'à un facteur 100[1]. Par ailleurs, Cython permet d'écrire des interfaces Python à des bibliothèques externes écrites en C ou C++.

Cython est disponible pour la plupart des systèmes d'exploitation.

Fonctionnement[modifier | modifier le code]

Le langage Python dès son origine supporte l'écriture de modules écrits en langage C. Cependant, cette procédure est laborieuse et délicate. Le compilateur Cython convertit ses fichiers sources en langage Cython (extension .pyx) vers le langage C/C++. Dans un deuxième temps, ces fichiers C/C++ sont compilés sous forme de bibliothèques prêtes à être utilisées avec Python.

Cython automatise entre autres :

  • la conversion automatique entre types Python et types C ;
  • la compatibilité Python 2/Python 3 ;
  • la gestion des erreurs.

Le compilateur Cython est lui-même écrit en Python .

Histoire[modifier | modifier le code]

Cython est né comme sous-projet du logiciel libre de calcul formel SageMath comme fork de Pyrex. SageMath est un des logiciels qui utilise le plus intensément Cython.

Notes et références[modifier | modifier le code]

  1. (en) « Working with NumPy — Cython 0.28a0 documentation », sur cython.readthedocs.io (consulté le 27 novembre 2017)

Liens externes[modifier | modifier le code]