Abo
  • IT-Karriere:

LLVM-Konkurrenz: GCC bekommt JIT-Compiler

Die GNU Compiler Collection (GCC) enthält nun Funktionen zur Just-in-Time-Kompilierung. Damit tritt GCC wieder stärker in Konkurrenz zu LLVM, der Code ist aber noch nicht bereit für den Einsatz.

Artikel veröffentlicht am ,
Ein JIT-Compiler für GCC
Ein JIT-Compiler für GCC (Bild: GCC)

Das Projekt, ein JIT-Compiler-API für die GNU Compiler Collection (GCC) zu erstellen, ist offiziell im Hauptentwicklungszweig von GCC eingepflegt worden. Vor über einem Jahr war es von dem Red-Hat-Mitarbeiter David Malcolm gestartet worden. Die Bibliothek soll sich dynamisch in Bytecode-Interpreter linken lassen oder in ähnliche Programme, die Maschinencode zur Laufzeit erstellen wollen.

Stellenmarkt
  1. Stadtverwaltung Freiberg, Freiberg
  2. Stadt Soltau, Soltau

Damit rückt GCC dem Funktionsumfang des zweiten großen freien Compilerprojektes, LLVM, wieder etwas näher. Letzteres bietet eine solche Möglichkeit seit Jahren, die unter anderem auch den Code noch weiter optimieren kann. Eingesetzt wird dies von vielen verschiedenen Programmen wie zum Beispiel in dem neuen Javascript-Backend von Webkit oder bei dem von Dropbox initiierten Pyston, einer Implementierung von Python 2.7.

Aufbauend auf einer selbsterstellten Sprachanbindung an Python demonstrierte Malcolm die Funktionen von GCC-Jit auf der diesjährigen GNU Tools Cauldron Konferenz. Mit Coconut steht ein experimenteller Compiler bereit, der CPython-Bytcode über eine Zwischenschicht in Maschinencode umwandelt. Genutzt werden könnte diese Technik aber natürlich auch für andere Sprachen, und Malcolm ruft dazu auf, sich entsprechend an den Arbeiten zu beteiligen.

Einen kurzen Überblick über die Funktionsweise der Jit-Bibliothek von GCC bietet das Projekt-Wiki sowie die Onlinedokumentation von Malcolm selbst. Noch wird der Code offiziell als Alpha bezeichnet, und es wird auf mögliche Änderungen des API hingewiesen. Mit der Aufnahme in den Hauptzweig ist aber davon auszugehen, dass der Code mit der kommenden Version 5 der Compilersammlung im nächsten Jahr erscheinen wird.

Der Quellcode steht via Svn zum Download bereit, Git-Spiegelserver gibt es ebenfalls.



Anzeige
Spiele-Angebote
  1. 1,24€
  2. 4,99€
  3. 4,99€
  4. 7,99€

pica 14. Nov 2014

im Wiki hatte ich die GPL v2 auch erwähnt. Aber es gehört ein lincense file dazu. Gruß, pica


Folgen Sie uns
       


OnePlus 7 Pro - Test

Das Oneplus 7 Pro hat uns im Test mit seiner guten Dreifachkamera, dem großen Display und einer gelungenen Mischung aus hochwertiger Hardware und gut laufender Software überzeugt.

OnePlus 7 Pro - Test Video aufrufen
Watch Dogs Legion angespielt: Eine Seniorin als Ein-Frau-Armee
Watch Dogs Legion angespielt
Eine Seniorin als Ein-Frau-Armee

E3 2019 Elitesoldaten brauchen wir nicht - in Watch Dogs Legion hacken und schießen wir auch als Pensionistin für den Widerstand. Beim Anspielen haben wir sehr über die ebenso klapprige wie kampflustige Oma Gwendoline gelacht.


    Final Fantasy 7 Remake angespielt: Cloud Strife und die (fast) unendliche Geschichte
    Final Fantasy 7 Remake angespielt
    Cloud Strife und die (fast) unendliche Geschichte

    E3 2019 Das Remake von Final Fantasy 7 wird ein Riesenprojekt, allein die erste Episode erscheint auf zwei Blu-ray-Discs. Kurios: In wie viele Folgen das bereits enorm umfangreiche Original von 1997 aufgeteilt wird, kann bislang nicht mal der Producer sagen.

    1. Final Fantasy 14 Online Report Zwischen Cosplay, Kirmes und Kampfsystem
    2. Square Enix Final Fantasy 14 erhält Solo-Inhalte und besonderen Magier
    3. Rollenspiel Square Enix streicht Erweiterungen für Final Fantasy 15

    Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
    Ada und Spark
    Mehr Sicherheit durch bessere Programmiersprachen

    Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.
    Von Johannes Kanig

    1. Das andere How-to Deutsch lernen für Programmierer
    2. Programmiersprachen, Pakete, IDEs So steigen Entwickler in Machine Learning ein
    3. Software-Entwickler Welche Programmiersprache soll ich lernen?

      •  /