Programmiersprache: Ruby 2.6 enthält experimentellen JIT-Compiler

Das neue Release der Skriptsprache führt eine Reihe neuer Funktionen und Performanceverbesserungen ein, darunter einen JIT-Compiler.

In Pocket speichern vorlesen Druckansicht 39 Kommentare lesen
Programmiersprache: Ruby 2.6 enthält experimentellen JIT-Compiler

(Bild: mathieujuwelo | Pixabay)

Lesezeit: 2 Min.
Von
  • Alexander Neumann

Alle Jahre wieder erscheint schon seit geraumer Zeit eine neue Version der Skriptsprache Ruby – so auch dieses Jahr. Ruby 2.6 enthält als womöglich spannendstes neues Feature einen JIT-Compiler (Just In Time). Dieser soll für eine signifikant bessere Performance von Ruby-Programmen sorgen. Er erzeugt C-Code auf der Festplatte und nutzt einen C-Compiler zur Generierung des nativen Codes. Als C-Compiler können offenbar GCC, Clang oder Visual C++ fungieren. Die Benchmarks der Entwickler haben ergeben, dass die JIT-Kompilierung bei CPU-intensiven Workloads etwa 1,7-mal schneller ist als ein vergleichbarer Vorgang bei Ruby 2.5.

Noch hat der JIT-Compiler allerdings experimentellen Status. Um den JIT-Compiler zu aktivieren, müssen Entwickler --jit auf der Befehlszeile oder in der Umgebungsvariablen $RUBYOPT eingeben. Die Angabe von --jit-verbose=1 bewirkt zudem, dass der JIT-Compiler zusätzliche Informationen ausgibt.

Neu mit Ruby 2.6 ist außerdem das Modul RubyVM::AbstractSyntaxTree. Es umfasst eine parse-Methode, die die angegebene Zeichenkette als Ruby-Code analysiert und die AST-Knoten (Abstract Syntax Tree) des Codes zurückgibt. Die Methode parse_file öffnet und analysiert die angegebene Datei als Ruby-Code und gibt die AST-Knoten zurück. Die Klasse RubyVM::AbstractSyntaxTree::Node wird ebenfalls eingeführt. Mit ihr lassen sich Source-Lokationen und Unterknoten aus Node-Objekten abrufen. Dieses Feature ist ebenfalls experimentell.

Darüber hinaus weiß Ruby 2.6 mit neuen Sprachfeatures aufzuwarten. Die Rede ist zum Beispiel von der Unterstützung für sogenannte Endless Ranges, die es Konstanten ermöglichen, mit Nicht-ASCII-Großbuchstaben zu beginnen. Außerhalb des JIT-Compilerbereichs gibt es zudem einige andere Überarbeitung beim Compiler.

Die weiteren zumeist kleineren Änderungen entnimmt man am besten der Ankündigung, die viele Verweise auf ausführlichere Informationen enthält. Hier werden Entwickler auch auf die Download-Links verwiesen. (ane)