Original-URL des Artikels: https://www.golem.de/news/programmiersprache-ruby-2-6-erscheint-mit-experimentellem-jit-compiler-1812-138403.html    Veröffentlicht: 27.12.2018 11:17    Kurz-URL: https://glm.io/138403

Programmiersprache

Ruby 2.6 erscheint mit experimentellem JIT-Compiler

Wie angekündigt, bringt die aktuelle Version 2.6 der Programmiersprache Ruby einen neuen JIT-Compiler, der den Code deutlich beschleunigen soll. Hinzu kommen einige kleinere Sprachverbesserungen.

Die Community der Programmiersprache Ruby hat die aktuelle Version 2.6 seiner Software veröffentlicht. Zu den wohl wichtigsten Neuerungen zählt laut Aussagen der Beteiligten ein völlig neu geschriebener JIT-Compiler für die Sprache. Details zu den Arbeiten daran sind seit fast einem Jahr bekannt. Im vergangenen Sommer hat die Ruby-Community die Arbeiten dann offiziell angekündigt. Mit der Veröffentlichung in der aktuellen Version 2.6 gilt die neue Technik aber noch nicht als stabil, sondern wird weiter als experimentell bezeichnet.

Der größte Vorteil in der Nutzung des JIT-Compilers soll in der damit gesteigerten Leistung des Codes liegen. Eigenen Benchmarks zufolge soll der Code um das 1,7-fache schneller laufen als mit der Ruby-Version 2.5. Erreicht wird das durch einen eher ungewöhnlichen Ansatz: Der Code wird von dem JIT-Compiler nicht direkt in Maschinencode übersetzt, sondern zunächst in C-Code, der dann wiederum von dem nativen Compiler des Systems übersetzt wird.

Um den neuen JIT-Compiler zu benutzen, gibt es eine spezielle Kommandozeilenoption, mit der Ruby gestartet werden muss. Darüber hinaus gibt es eine Umgebungsvariable, mit der die Option dauerhaft gesetzt werden kann. Zur Verwendung muss natürlich ein C-Compiler, also GCC, Clang oder Microsoft VC++ zur Laufzeit verfügbar sein.

Experimenteller Syntaxbaum

Eine weitere experimentelle neue Funktion in in Ruby 2.6 ist das Modul Abstract Syntax Tree für die Ruby-VM. Wie der Name sagt, dient das Modul zum Erstellen eines abstrakten Syntaxbaumes (AST) für Ruby-Code. Dazu wird etwa ein kurzer String als Code geparst oder direkt ganze Code-Dateien. Zurückgegeben werden dann die Knoten des AST.

Neu zur Sprache hinzugekommen sind außerdem sogenannte endless Ranges - also unendliche Intervalle. Namen für Konstanten dürfen nun auch mit Großbuchstaben beginnen, die nicht im ASCII-Zeichensatz enthalten sind. Auch hat das Team viele kleinere Details zum Beispiel am bisherigen Standard-Compiler geändert, womit ebenfalls die Leistung gesteigert werden soll. Weitere Details finden sich in der Ankündigung.  (sg)


Verwandte Artikel:
Programmiersprache: Vorschau auf Ruby 2.6 bringt JIT-Compiler   
(04.06.2018, https://glm.io/134745 )
Compilersammlung: GCC 5.1 erscheint mit Jit-Kompilierung   
(22.04.2015, https://glm.io/113671 )
LLVM-Konkurrenz: GCC bekommt JIT-Compiler   
(13.11.2014, https://glm.io/110530 )
LLVM: Virtuelle Maschine schreibt Objektdateien für Darwin   
(08.10.2010, https://glm.io/78526 )
LLILC: Microsoft veröffentlicht LLVM-basierten Compiler für .NET   
(14.04.2015, https://glm.io/113488 )

© 1997–2019 Golem.de, https://www.golem.de/