Développeur : IronPython : implémentation pour Mono/.NET
Posté par Yoan Blanc (Jabber id, page perso, ). Modéré le 04 août 2004.
IronPython est une implémentation libre (sous licence CPL v1.0) de Python pour la machine virtuelle de Mono/.NET (NdM : Common Language Runtime, ou CLR).
Plus rapide que la version officielle et moins gourmande en mémoire, elle permet de réaliser des exécutables et des dll's utilisables par les autres langages compilables pour CLR (type C#, VB, ...).
NdM : l'auteur de IronPython, Jim Hugunin, s'était déjà illustré en créant Jython (une implémentation de Python pour Java), et en participant activement aux développements de Numerical Python et d'AspectJ. Il a récemment rejoint l'équipe CLR de Microsoft, où il compte poursuivre son travail sur IronPython et promouvoir l'utilisation sur cette plate-forme des langages dynamiques en général.
Plus rapide que la version officielle et moins gourmande en mémoire, elle permet de réaliser des exécutables et des dll's utilisables par les autres langages compilables pour CLR (type C#, VB, ...).
NdM : l'auteur de IronPython, Jim Hugunin, s'était déjà illustré en créant Jython (une implémentation de Python pour Java), et en participant activement aux développements de Numerical Python et d'AspectJ. Il a récemment rejoint l'équipe CLR de Microsoft, où il compte poursuivre son travail sur IronPython et promouvoir l'utilisation sur cette plate-forme des langages dynamiques en général.
Site officiel (721 hits)
Présentation à PyCon (mars 2004) (251 hits)
Site de l'auteur (327 hits)
CLR Tutorial (414 hits)
> Lire la dépêche (22 commentaires, moyenne: 3).
Vous avez demandé le commentaire #455685.




comparaisons...
La version 0.6 est plus de 1.7 fois plus rapide que Python 2.3 (selon le benchmark PyStone)
donc de 1 à plus de 10 fois moins rapide que Python+Psyco?
(vu qu'un code Python important Psyco est en général 3 à 10 fois plus rapide qu'un code Python 'Nu')
[^]Re: comparaisons...
Oui. Par contre Psyco est x86-only, et je ne crois pas qu'il y ait de portage ne serait-ce qu'entamé pour d'autres architectures. CLR au contraire est potentiellement multi-architecture (le portage PPC de Mono est bien avancé li me semble), et logiquement IronPython en profitera automatiquement.
[+] [^]Re: comparaisons...
A priori Psyco est aussi potentiellement multi-architecture ;-) -à part si il y a une subtilité dans son design qui ne peut etre porté sur d'autres archs...
bon par contre ("Sorry, no other processor is supported yet."), ce n'est pas du tout avancé.
mais cela ouvre une nouvelle question: quid des perfs IronPython+Psyco? :-)
[^]Re: comparaisons...
tu n'as rien compris. Dans IronPython, c'est .Net/Mono qui fait le JIT par dessous. Donc Psyco+IronPython est un non-sens.
[+] [^]Re: comparaisons...
merci mais j'avais bien compris, c'est en effet un non-sens, mais cela m'interresserait de savoir si cela est possible, et quelles en serait les performances... juste pour la beauté/folie de la chose!
[^]Re: comparaisons...
bon par contre ("Sorry, no other processor is supported yet."), ce n'est pas du tout avancé.
Oui, c'est ce que je dis. Y'a rien d'entamé, ni de sérieusement prévu à ma connaissance. Évidemment que dans l'absolu on peut faire la même chose sur d'autres archis, mais ça n'est pas près d'arriver.
Alors que pour CLR, c'est d'une part beaucoup plus intéressant de le faire (tu fais d'une pierre 36 coups, enfin autant qu'il y a de langages compilables en bytecode CLR), et d'autre part déjà largement entamé (je parlais de "bien entamé sur PPC", mais c'est en fait carrément bel et bien fait, et sur Sparc aussi).
quid des perfs IronPython+Psyco? :-)
Ouf, il y a un smiley.
[^]Re: comparaisons...
je vais pas me répéter
http://advogato.org/person/TazForEver/diary.html?start=7(...)
en gros c'est inimaginablement lent, les types de bases du langage sont défaillants (mon benchmark échoue, {}.copy() n'est pas implémenté, etc, etc, très peu de fonctions intégrées sont implémentées (open/file sont absents/défaillants, etc ...)
bref beaucoup de bruit pour rien, ça sert à rien de faire une annonce publique pour un projet qui balbutie. Ce n'est pas qu'IronPython ne soit pas stable et donc pas destiné à un environnement de production : c'est qu'il est creux, vide.
[^]Re: comparaisons...
L'auteur précise bien sur son site qu'il est en pré-alpha.
Y'a beaucoups de niouzes pour les pré alpha sur linuxfr 8-)