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. Mitarbeiter (m/w/d) Strategischer Einkauf IT Dienstleistungen
    W&W Service GmbH, Ludwigsburg
  2. Systemingenieur (m/w/d) Elektrotechnik / Nachrichtentechnik
    Amprion GmbH, Pulheim
Detailsuche

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.

Golem Akademie
  1. Jira für Systemadministratoren: virtueller Zwei-Tage-Workshop
    9.–10. Dezember 2021, virtuell
  2. Java EE 8 Komplettkurs: virtueller Fünf-Tage-Workshop
    24.–28. Januar 2022, virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

  3. Google: Kopfhörer verlieren Google-Assistant-Support auf iPhones
    Google
    Kopfhörer verlieren Google-Assistant-Support auf iPhones

    Wer Google Assistant am Kopfhörer benutzen will, ist künftig auf ein Android-Gerät angewiesen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /