Ruby 2.6.0-preview2 disponible avec une implémentation initiale de compilateur JIT
Qui promet une amélioration significative des performances

Le , par Espoir Mony, Membre habitué
Ruby est un langage de programmation libre. Il est interprété, orienté objet, multiparadigme, dynamique, met l'accent sur la simplicité et la productivité. Sa syntaxe en facilite la lecture et l'écriture, et il se classe dans le top 10 des langages de programmation selon le baromètre RedMonk. Le 31 mai, les responsables de ce langage annoncé la sortie de Ruby 2.6.0-preview2. Cette version est publiée plus tôt que d'habitude, car elle inclut une nouvelle fonctionnalité importante, JIT.

Pour ceux qui ne le savent pas, le JIT est une technique de compilation visant à améliorer la performance du systèmes bytecode-compilés en traduisant le bytecode en code machine natif au moment de son exécution. Cette technique est utilisée par des langages comme Perl, PHP, Python (PyPy) et Java entre autres. Le compilateur JIT vise donc à améliorer les performances d'exécution des programmes Ruby.

Contrairement aux compilateurs JIT ordinaires d'autres langages, le compilateur JIT de Ruby fait la compilation JIT d'une manière unique, il stocke le code C sur un disque et engendre le processus de compilateur C commun pour générer du codage natif. L'image ci-dessous explique le fonctionnement du processus de compilation JIT


Pour les amoureux du langage Ruby, cette nouvelle version apporte des nouveautés qui vont surement donner satisfaction. Nous avons, en plus du compilateur JIT qui promet des gains de performances :
  • l'intégration d'un nouveau module expérimental RubyVM::AST ;
  • l'ajout d'un nouveau alias then à Kernel#yield_self ;
  • l'usage de else sans rescue génère une erreur ;
  • les noms de constante peuvent commencer par une lettre majuscule non-ASCII ;
  • les plages infinies, (1...), ont été introduites. Elles fonctionnent comme si elles n'avaient pas de fin. L'exemple ci-dessous illustre les cas d'utilisation typiques :
    Code : Sélectionner tout
    1
    2
    3
    ary[1..]                          # identical to ary[1..-1] without magical -1
    (1..).each {|index| ... }         # inifinite loop from index 1
    ary.zip(1..) {|elem, index| ... } # ary.each.with_index(1) { ... }
  • etc.

En gros, nous avons dans cette nouvelle version l'optimisation des appels de méthode, la génération des erreurs et autres changements notables depuis 2.5.


Une synthaxe en Ruby

Téléchargement de Ruby 2.6.0-preview2

Source : Blog Ruby, La méthode du compilateur JIT pour Ruby 2.6.

Et vous ?

Avez-vous déja utilisé le langage de programmation Ruby ?
Si vous êtes un amoureux du Ruby pouvez vous partager la plus-value des nouveautés dans cette nouvelle version ?
Quel langage de programmation utilisez-vous le plus ?

Voir aussi

meilleurs cours et tutoriels pour apprendre le Ruby et le Ruby on Rails


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Accueil