Developpez.com

Le Club des Développeurs et IT Pro

JRuby 1.6 passe en RC

Support de Ruby 1.9.2 et compatibilité Windows pour l'implémentation alternative de Ruby sur la JVM

Le 2011-01-12 10:43:22, par Idelways, Expert éminent sénior
JRuby 1.6, la nouvelle version majeure de l'implémentation alternative du langage Ruby sur la Machine Virtuelle Java, sera bientôt prête. Elle vient en effet d'atteindre le stade de Release Candidate.

Il s'agit de la première version en date de JRuby qui soit compatible avec Ruby 1.9.2 - première version de la branche 1.9.x du langage qui soit réellement stable et prête pour la production selon ses concepteurs. Mais JRuby 1.6 dispose aussi d'un mode Ruby 1.8.7.

L'équipe du projet s'est penchée sur l'amélioration de la compatibilité avec les environnement Windows. Une initiative à saluer à plus d'un titre, Windows était en effet jusqu'ici le parent pauvre de la communauté Ruby.

La compatibilité élevée avec les spécifications de Ruby 1.9.2 promet une meilleure intégration avec Ruby On Rails 3, la dernière version majeure du framework Web populaire.

Parmi les autres nouveautés de cette version, un support plus « developer-friendly », des encodages multi-langues, un support (encore expérimental) des extensions de Ruby écrites en C et la compatibilité avec les artefacts Maven, qui peuvent désormais s'installer comme de simple RubyGems.

Bien que cette version ne soit pas encore finalisée, l'équipe du projet affiche déjà ses ambitions pour la prochaine version majeure. JRuby 1.7 devrait être compatible avec Java 7 dès sa sortie, prévue par Oracle pour le milieu 2011.

JRuby 1.6 RC est disponible en téléchargement sur cette page

Source : l'annonce sur le site officiel

Et vous ?

Avez-vous essayé cette version ? Qu'en pensez-vous ?
Dans quel contexte utilisez-vous JRuby ?
  Discussion forum
11 commentaires
  • kaymak
    Membre émérite
    hmmm c'est bien ces intégration de langages dynamiques. J'aimais bien IronRuby aussi, mais je crois que le projet est à l'abandon.

    Est ce que le fait d'utiliser la JVM et cette implémentation doit/peut permettre d'améliorer les performances de ce langages ???
    Parce que c'était un point particulièrement problématique quand j'ai fait du ruby, les performances ne m'ont pas du tout impressionné, au contraire :s

    a+
  • _skip
    Expert éminent
    Oui c'est exactement ça. La jvm est tout de même quelque chose d'extrêmement optimisé. Comme ça les utilisateurs de ruby bénéficient de toutes ces optimisations et le code exécuté est au final compilé au lieu d'être interprété ce qui est normalement incomparable en vitesse d'exécution.
  • kaymak
    Membre émérite
    @_skip, merci de l'info !

    hmmm sa c'est super cool. J'ai plus qu'à trouver une roadmap et un fichier README/INSTALL.
  • kaymak
    Membre émérite
    <hs>Je trouve plus le bouton d'édition dem on post précédent... Je dois être très fatigué, ou sa bug.</hs>

    Je voulais simplement signaler ce site :
    http://shootout.alioth.debian.org/

    et notamment cette url
    http://shootout.alioth.debian.org/u3...yarv&box=1

    Sur lesquels j'a trouvé des becnhmarks entre jruby 1.5.6 et ruby 1.9.
    Si la jvm améliore effectivement certains scripts, ce n'est pas le cas à chaque fois.
    Par ailleurs quand je regarde la consommation mémoire, je ne comprend pas la telle différence que l'on trouve entre les deux interprétations.

    bref, entre un temps d’exécution douteux, et une consommation mémoire tout aussi douteuse je ne sais que trop en penser...

    a+
  • _skip
    Expert éminent
    Pourtant, si tu choisis java6 -server vs ruby, tu verras que java enterre ruby sans appel. Maintenant c'est clair que les résultats de jruby sont surprenants, j'avais estimé un gain bien plus important grâce à la compilation jit.
  • kaymak
    Membre émérite
    Envoyé par _skip
    Pourtant, si tu choisis java6 -server vs ruby, tu verras que java enterre ruby sans appel. Maintenant c'est clair que les résultats de jruby sont surprenants, j'avais estimé un gain bien plus important grâce à la compilation jit.
    Ok _skip ! Merci de ta précision : )
    Je jetterais un oeil à ces graphs tout de même, et particulièrement sur cette option.

    a+
  • _skip
    Expert éminent
    -server?
    Cette option concerne le langage java, et non jruby. Il aurait été normal à mon sens que l'implémentation de ruby sur JVM soit plus lente que celle de java. Cependant qu'elle n'apporte un gain aussi ridicule qu'indiqué dans le graphe que tu as posté, c'est vraiment étonnant. En principe, passer de l'interprété à du compilé devrait induire des gains de vitesse d'exécution très significatifs.

    Faudrait trouver d'autres benchmarks...
  • Madmac
    Membre extrêmement actif
    À mon avis, il n'y a que l'interpréteur ruby qui est converti en java. Pas les application.
  • ymoreau
    Membre émérite
    Il faut savoir que pas mal de fonctionnalités du langage ruby sont écrite en C compilé sous forme de libs, donc selon le type de programme la partie interprétée est peut être très réduite.
  • Madmac
    Membre extrêmement actif
    Pour les amateur de JRuby:

    http://www.mirah.org/