Facebook stellt C/C++-Präprozessor warp vor

Mit warp steht ein weiteres internes Facebook-Projekt nun quelloffen zur Verfügung. Das Unternehmen nutzt den C/C++-Präprozessor als Ersatz für GNUs cpp, dem es geschwindigkeitsmäßig überlegen sein soll.

In Pocket speichern vorlesen Druckansicht 100 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Im Rahmen eines gemeinsamen Projekts mit Facebook hat der als Schöpfer der Programmiersprache D bekannt gewordene Walter Bright den C/C++-Präprozessor warp geschrieben. Das Unternehmen hat die Quellen nun offengelegt, sie stehen unter der Boost Software License auf GitHub zur Verfügung.

Entgegen der Meinung, dass die Zeit, die während des Baus einer C++-Binärdatei für die Vorverarbeitung benötigt wird, vernachlässigbar niedrig ist, konnten die Facebook-Entwickler beim Einsatz von warp abhängig von verschiedenen Faktoren globale Geschwindigkeitsverbesserungen von 10 bis 40 Prozent gegenüber cpp messen. Mittlerweile kommt er bei Facebook deshalb anstelle des häufig verwendeten Präprozessors des GNU-Projekts zum Einsatz.

Um die Build-Geschwindigkeit zu verbessern, speichert warp beispielsweise einmal geöffnete und geladene Dateien zwischen, sodass sie sich bei Bedarf später schneller nutzen lassen. Da etwa bestimmte Header-Dateien häufiger zum Einsatz kommen, lässt sich die benötigte Zeit hier wohl deutlich reduzieren. Weitere Informationen zum Aufbau und den architektonischen Hintergründen des Tools finden sich in der Bekanntmachung. Für die Zukunft plant Bright wohl unter anderem, Parallelisierungsmethoden einzuführen, wobei jeder vorzuverarbeitenden Quelldatei ein Thread zugeordnet wird.

Um warp einsetzen zu können, ist eine Installation des D-Compilers notwendig. Die Builds sind bis jetzt nur unter CentOS 6 getestet, weitere Betriebssysteme sollen noch unterstützt werden. (jul)