Abo
  • Services:

Programmiersprache: Vorschau auf Ruby 2.6 bringt JIT-Compiler

Die Programmiersprache Ruby bekommt mit der kommenden Version 2.6 einen experimentellen JIT-Compiler. Dieser funktioniert etwas anders als üblich und soll vor allem die Leistung der Sprache steigern.

Artikel veröffentlicht am ,
Der neue JIT-Compiler für Ruby befindet sich noch im Rohzustand.
Der neue JIT-Compiler für Ruby befindet sich noch im Rohzustand. (Bild: Sajjad Qayyum/AFP Contributor/Kontributor)

Das Entwicklerteam der Programmiersprache Ruby hat eine erste Vorschau auf die kommende Version 2.6 seines Projekts veröffentlicht. Diese Vorschau erscheine früher als sonst in der Entwicklung üblich, da die Version eine "wichtige neue Funktion" enthalte, nämlich einen Just-in-Time-Compiler (JIT), wie es in der Ankündigung heißt.

Stellenmarkt
  1. über duerenhoff GmbH, Göttingen
  2. über duerenhoff GmbH, Raum Augsburg

Bisher nutzt Ruby in der Standardimplementierung einen Bytecode-Interpreter namens Yarv (Yet another Ruby VM). Durch die Einführung des JIT-Compilers verspricht sich das Team im Vergleich dazu jedoch eine deutliche Leistungssteigerung für Ruby-Anwendungen. Wie das Team in der Ankündigung selbst schreibt, arbeitet der neue JIT-Compiler nicht wie gewöhnliche Implementierungen anderer Sprachen, sondern auf eine eher einzigartige Weise, denn der JIT-Compiler setzt auf übliche C-Compiler auf.

Wie der Ruby-Entwickler Shannon Skipper bereits zur Vorstellung der neuen Technik Mitte Februar in einem Blogeintrag geschrieben hat, werden die Yarv-Instruktionen nicht wie bisher üblich jedes Mal neu evaluiert, stattdessen werden bestimmte Aufrufe in Maschinencode übersetzt. Dazu werden die Yarv-Instruktionen in C-Code überführt, der dann wiederum mit einem C-Compiler übersetzt wird. Die so entstandene dynamische Bibliothek (Shared Object, .so) wird dann bei nachfolgenden Aufrufen von der RubyVM genutzt, sobald die entsprechende Yarv-Instruktion im Programmablauf wieder auftaucht.

Experimentelle Technik mit Vorlaufzeit zum Testen

Das Team schreibt zu der Vorschau: "Der Hauptzweck dieser JIT-Version besteht darin, vor der Veröffentlichung von 2.6 Nutzern die Möglichkeit zu geben, zu überprüfen, ob die Technik für ihre Plattform funktioniert, und um mögliche Sicherheitsrisiken zu ermitteln. Derzeit wird der JIT-Compiler nur unterstützt, wenn Ruby von GCC oder Clang erstellt wird und der Compiler zur Laufzeit verfügbar ist". Ohne kann die Technik vorerst nicht verwendet werden.

Bisher habe das Team lediglich die Infrastruktur für den JIT-Compiler vorbereitet und noch kaum Optimierungen vorgenommen. Deshalb seien zurzeit auch noch keine vernünftigen Benchmarks durchführbar, schon gar nicht für große Rails-Anwendungen. Micro-Benchmarks zeigten aber schon jetzt das Potenzial der neuen Technik.

Als Nächstes will das Team die Inline-Ersetzung von Methoden in dem JIT-Compiler umsetzen, was die Leistung nochmal steigern soll. Darüber hinaus plant das Team, die Plattformunterstützung zu erweitern, wozu auch Microsofts Visual Studio C-Compiler unterstützt werden soll.



Anzeige
Top-Angebote
  1. GRATIS
  2. 159,00€
  3. (u. a. Vertigo, Vier Fäuste für ein Halleluja)
  4. (u. a. Der weiße Hai, Der blutige Pfad Gottes)

TheUnichi 04. Jun 2018

Warum nicht gleich seinen Web-Stack in NASM coden? Hat doch dann auch erst richtige...

cHaOs667 04. Jun 2018

Ja gibt es und wird auch intensiv genutzt.


Folgen Sie uns
       


Der Mars-Maulwurf des DLR erklärt

Ulrich Köhler vom DLR erläutert die Funktionsweise des Mars-Maulwurfes.

Der Mars-Maulwurf des DLR erklärt Video aufrufen
Thyssen-Krupp Testturm Rottweil: Herr Fetzer parkt die Aufzugkabine um
Thyssen-Krupp Testturm Rottweil
Herr Fetzer parkt die Aufzugkabine um

Ohne Aufzüge gäbe es keine Hochhäuser. Aber inzwischen sind Wolkenkratzer zu hoch für herkömmliche Systeme. Thyssen-Krupp testet derzeit einen neuartigen Aufzug, der beliebig hoch fahren kann. Inspiriert ist er vom Paternoster und dem Transrapid. Wir waren im Testturm.
Ein Bericht von Werner Pluta

  1. Ceramic Speed Hätte, hätte - Fahrrad ohne Kette
  2. Geheimdienste und Bundeswehr Masterstudiengang für Staatshacker gestartet
  3. Sonitus Technologies Zahnmikrofon sorgt für klare Kommunikation

Pauschallizenzen: CDU will ihre eigenen Uploadfilter verhindern
Pauschallizenzen
CDU will ihre eigenen Uploadfilter verhindern

Absurder Vorschlag aus der CDU: Anstatt die Urheberrechtsreform auf EU-Ebene zu verändern oder zu stoppen, soll nun der "Mist" von Axel Voss in Deutschland völlig umgekrempelt werden. Nur "pures Wahlkampfgetöse" vor den Europawahlen, wie die Opposition meint?
Eine Analyse von Friedhelm Greis

  1. Europawahlen Facebook will mit dpa Falschnachrichten bekämpfen
  2. Urheberrecht Europas IT-Firmen und Bibliotheken gegen Uploadfilter
  3. Uploadfilter Fast 5 Millionen Unterschriften gegen Urheberrechtsreform

FreeNAS und Windows 10: Der erste NAS-Selbstbau macht glücklich
FreeNAS und Windows 10
Der erste NAS-Selbstbau macht glücklich

Es ist gar nicht so schwer, wie es aussieht: Mit dem Betriebssystem FreeNAS, den richtigen Hardwarekomponenten und Tutorials baue ich mir zum ersten Mal ein NAS-System auf und lerne auf diesem Weg viel darüber - auch warum es Spaß macht, selbst zu bauen, statt fertig zu kaufen.
Ein Erfahrungsbericht von Oliver Nickel

  1. TS-332X Qnaps Budget-NAS mit drei M.2-Slots und 10-GBit-Ethernet

    •  /