• IT-Karriere:
  • Services:

Warp: Facebook veröffentlicht C/C++-Präprozessor

Mit Warp ersetzt Facebook den C-Präprozessor der GNU Compiler Collection und erreicht damit deutlich schnellere Builds. Der Erfinder der Programmiersprache D und Compiler-Experte Walter Bright hat Warp für Facebook in D geschrieben.

Artikel veröffentlicht am ,
Ein C/C++-Präprozessor in D: Warp von Facebook
Ein C/C++-Präprozessor in D: Warp von Facebook (Bild: Facebook, Screenshot: Golem.de)

Es werde häufig angenommen, dass die Zeit, die der Präprozessor zum Verarbeiten des Codes benötigt, im Vergleich zur gesamten Kompilierzeit eher vernachlässigbar ist, schreiben die Facebook-Entwickler in ihrem Blog. Das stimme aber nicht immer, denn durch das Ersetzen des C-Präprozessors aus der GNU Compiler Collection durch den eigens geschriebenen Warp, habe sich die Build-Zeit um 10 bis 40 Prozent verringert.

Stellenmarkt
  1. Deutsche Bundesbank, Düsseldorf
  2. Bundesnachrichtendienst, Berlin

Diese Geschwindigkeitssteigerungen erreicht Warp unter anderem dadurch, dass der Präprozessor "einmal geöffnete und geladene Dateien zwischenspeichert", um diese später eventuell wieder zu verwenden. Darüber hinaus werde Warp nur einmal gestartet und arbeite dann sämtliche Dateien ab, statt den Präprozessor für jede einzelne Datei neu aufzurufen.

Warp wurde von D-Erfinder und Compiler-Entwickler Walter Bright in D geschrieben. So nutzt das Werkzeug auch einige Besonderheiten der Sprache aus, was ebenfalls zu der Beschleunigung beitragen soll. Dazu zählen allen voran die sogenannten Ranges und Algorithmen. Diese vereinfachten die Arbeit mit Unit-Tests und die Beurteilung der Leistung bestimmter Code-Bestandteile, um notfalls nachzubessern.

Außerdem nutzt Warp viele moderne Compiler-Optimierungen wie Inline-Ersetzungen, das Speichern von Structs in Registern, auch wenn diese größer als ein einzelnes Register sind, sowie das Über- und Zurückgeben von POD-Structs in Registern.

Weitere Einzelheiten zu Warp finden sich in der Ankündigung von Facebook. Der Code des unter der BSD-ähnlichen Boost Software License veröffentlichten Präprozessors Warp steht über Github zum Download bereit. Bis jetzt ist das Bauen von Warp nur unter CentOS getestet worden, die Unterstützung für weitere Betriebssysteme soll aber folgen.

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


Anzeige
Spiele-Angebote
  1. 2,99€
  2. (-40%) 41,99€

Folgen Sie uns
       


LG Gram 14 (14Z90N) im Test

Das LG Gram 14 ist weniger als 1 kg leicht und kann trotzdem durch lange Akkulaufzeit überzeugen. Das Deutschlanddebüt des Geräts ist gelungen.

LG Gram 14 (14Z90N) im Test Video aufrufen
    •  /