Un compilateur JIT arrive pour le langage Ruby

Par:
fredericmazue

mer, 06/06/2018 - 15:10

Ruby 2.6.0-preview2 vient de sortir. Cette mouture se distingue par l'arrivée d'un compilateur JIT (Just-in-Time) pour ce langage, qui offrira donc de ce fait de bien meilleures performances à l'exécution.

Généralement un compilateur JIT génère à la volée du code natif en mémoire, à partir du code source ou d'un code-byte. Chaque fois qu'une application est chargée, le compilateur JIT se remet et travail et effectue la même opération.

Le compilateur JIT de Ruby se distingue par un mode de fonctionnement différent. Il génére, la première fois que l'application est lancée, un code C qui est écrit sur le disque du système, puis il lance un compilateur C qui va ensuite générer le code natif une fois pour toutes.

Pour activer ce tout nouveau compilateur JIT de Ruby, il suffit de donner le commutateur -jit dans la ligne de commande qui lance l'application, ou bien d'ajouter cette valeur dans la variable d'environnement $RUBYOPT. Sachant toutefois que, pour le moment, le compilateur JIT ne peut fonctionner que si votre environnement d'exécution Ruby a été compilé avec GGC ou Clang. Il faut aussi, bien évidemment, que le compilateur soit disponible au moment de l'exécution.

Ce billet tehnique détaille le fonctionnement du compilateur JIT de Ruby.