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. MBDA Deutschland, Schrobenhausen
  2. Regiocom GmbH, Magdeburg

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. (zusammen mit G703/903 Lightspeed in den Warenkorb legen, um 60€ Direktabzug zu erhalten)
  2. 699€ statt 1.199€ im Vergleich
  3. (u. a. HP Omen 1100 Gaming-Tastatur für 49,99€ statt 79,99€ und HP 15.6" Topload Tasche...
  4. 86,90€ statt 119,40€ im Vergleich

TheUnichi 04. Jun 2018 / Themenstart

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

cHaOs667 04. Jun 2018 / Themenstart

Ja gibt es und wird auch intensiv genutzt.

Kommentieren


Folgen Sie uns
       


Bethesda E3 2018 Pressekonferenz -Live

Fallout 76 wird Multiplayer bieten, Starfield und Elder Scrolls 6 werden angekündigt und Bethesda bringt mit Rage 2 und Doom Eternal jede Menge Action: Konnte uns das im nächtlichen Stream begeistern?

Bethesda E3 2018 Pressekonferenz -Live Video aufrufen
Gemini PDA im Test: 2004 ist nicht 2018
Gemini PDA im Test
2004 ist nicht 2018

Knapp über ein Jahr nach der erfolgreichen Finanzierung hat das Startup Planet Computers mit der Auslieferung seines Gemini PDA begonnen. Die Tastatur ist gewöhnungsbedürftig, längere Texte lassen sich aber mit Geduld durchaus damit tippen. Die Frage ist: Brauchen wir heute noch einen PDA?
Ein Test von Tobias Költzsch und Sebastian Grüner

  1. Atom Wasserfestes Mini-Smartphone binnen einer Minute finanziert
  2. Librem 5 Freies Linux-Smartphone wird größer und kantig
  3. Smartphone-Verkäufe Xiaomi erobert Platz vier hinter Huawei, Apple und Samsung

Live-Linux: Knoppix 8.3 mit Docker
Live-Linux
Knoppix 8.3 mit Docker

Cebit 2018 Die Live-Distribution Knoppix Linux-Magazin Edition bringt nicht nur die üblichen Aktualisierungen und einen gegen Meltdown und Spectre geschützten Kernel. Mir ist das kleine Kunststück gelungen, Knoppix als Docker-Container zu starten.
Ein Bericht von Klaus Knopper


    Sony: Ein Kuss und viele Tode
    Sony
    Ein Kuss und viele Tode

    E3 2018 Mit einem zärtlichen Moment in The Last of Us 2 hat Sony sein Media Briefing eröffnet - danach gab es teils blutrünstiges Gameplay plus Rätselraten um Death Stranding von Hideo Kojima.
    Ein Bericht von Peter Steinlechner

    1. Smach Z ausprobiert Neuer Blick auf das Handheld für PC-Spieler
    2. The Division 2 angespielt Action rund um Air Force One
    3. Ghost of Tsushima Dynamischer Match im offenen Japan

      •  /