IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

Microsoft développe un compilateur JIT open source pour Python

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 889
    Points : 87 226
    Points
    87 226
    Billets dans le blog
    2
    Par défaut Microsoft développe un compilateur JIT open source pour Python
    Microsoft développe un compilateur JIT open source pour Python
    Qui améliore la vitesse du langage et supporte les modules d’extension CPython

    Pour bon nombre de développeurs, l’association des mots « JIT » et « Python » fait immédiatement penser à PyPy. PyPy est une réimplémentation de Python écrite elle-même en RPython, un sous-ensemble du langage de programmation. Il s’agit d’un interpréteur et un compilateur à la volée (JIT) pour Python qui met l’accent sur la vitesse, l’efficacité et la compatibilité avec l’interpréteur original CPython, écrit en C. CPython est, par défaut, l’implémentation la plus largement utilisée du langage de programmation Python, mais présente certains problèmes de rapidité.

    L’un des buts du projet PyPy était donc d’obtenir une implémentation de Python plus rapide que CPython. Ce qui a été atteint depuis la version 1.2. PyPy utilise un compilateur JIT pour accélérer les applications Python. Il fournit un gain de vitesse impressionnant pour de nombreuses applications, mais dans certains cas, la performance attendue n’est pas au rendez-vous et peut-être parfois même pire que CPython. Il n’offre pas non plus le meilleur support pour les modules d’extension CPython. En effet, PyPy ne les supporte pas nativement. D’après Microsoft, « cette incompatibilité peut être critique dans des domaines tels que le calcul scientifique » par exemple, où ces modules sont largement utilisés dans les applications Python. Les utilisateurs de Python concernés par ce problème ne peuvent donc pas pleinement tirer parti de ce compilateur JIT et interpréteur pour Python.

    Microsoft veut donc booster la vitesse de Python avec une approche un peu différente. La firme de Redmond a en effet rendu open source Pyjion, un JIT pour Python basé sur son projet CoreCLR. À travers ce nouveau projet open source, Microsoft veut ajouter une interface JIT à CPython de sorte que l’interpréteur soit plus rapide pour Python 3. Contrairement aux alternatives existantes, Pyjion vise donc un meilleur support pour Python 3. Il faut en effet noter que les autres projets d’accélération de Python se focalisent en général sur la branche 2.x.

    « Un aspect clé de ce projet est de concevoir une API C pour CPython qui permettra d’ajouter une interface JIT à la VM CPython », explique Microsoft dans la description du projet sur GitHub. « Cela devrait permettre une excellente compatibilité avec les modules d’extension de C qui peut être importante pour certaines sous-communautés Python comme la communauté de calcul scientifique », a-t-elle ajouté. Il faut encore noter que l’ajout d’une interface JIT à CPython signifie qu’il ne s’agira pas de réimplémenter toute la sémantique de Python, mais cela permettra de « tirer parti d’une base de code bien testée sous forme de CPython ». Pyjion étant une preuve de concept JIT utilisant CoreCLR, Microsoft s’attend également à ce que cela conduise à une prolifération des runtimes JIT pour Python, qui vont permettre aux développeurs de choisir un JIT qui correspond le mieux à leur charge de travail.

    Source : GitHub

    Et vous ?

    Que pensez-vous de ce nouveau compilateur à la volée pour Pyhton ? Quels sont ses apports et insuffisances par rapport aux alternatives que vous connaissez ?

    Voir aussi :

    Microsoft rend open source ChakraCore, la partie fondamentale du moteur JavaScript Chakra qui alimente Microsoft Edge
    Node.js accueille ChakraCore, le moteur JavaScript open source de Microsoft avec des gains de performance annoncés
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 184
    Points
    1 184
    Billets dans le blog
    9
    Par défaut
    Que pensez-vous de ce nouveau compilateur à la volée pour Pyhton ?
    Intéressant, Python étant mon langage préférer, sont seul point faible que je lui trouve c'est les performances.

    Quels sont ses apports et insuffisances par rapport aux alternatives que vous connaissez ?
    Difficile à dire puisque comme expliquer dans l'article y'a pas d'alternative en Python3. Pypy3 j'aimerais bien l'utiliser mais y'a pas numpy porter dessus... Pour utiliser pypy+des bibliothèques standard (comme numpy) faut du python 2.7.

    Mais la question que je me pose, es ce que l'interpréteur de MS s'encombre du GIL ou pas ? Du python sans GIL sa serait une vrai révolution... Le multi-processing c'est bien beau mais faut partager dans la mémoire les variables manuellement, et sa marche pas pour certaines bibliothèques (tkinter par exemple).

    Dans tous les cas, le passage de 2.7 à 3.0 a vraiment fractionner la communauté python, si on est tous d'accord sur les bienfait des changements apporter à Python 3, la migration est très chaotique.

    J'espère que Python4 sera rétro-compatible, comme la fait php7-php 5.6.

  3. #3
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    je parie que le premier endroit ou ce serat déployé seras les services azure de Microsoft
    Rien, je n'ai plus rien de pertinent à ajouter

  4. #4
    Membre confirmé Avatar de Max Lothaire
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 155
    Points : 578
    Points
    578
    Par défaut
    J'avoue que j'ai hâte de voir ce que cela donnera une fois stable.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2015, 14h10
  2. Réponses: 0
    Dernier message: 28/03/2014, 14h01
  3. Réponses: 0
    Dernier message: 26/02/2009, 20h31
  4. Open source pour développement du Rwanda
    Par bniz dans le forum Linux
    Réponses: 5
    Dernier message: 09/01/2009, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo