Warp: Facebook veröffentlicht C/C++-Präprozessor
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(öffnet im neuen Fenster) . Das stimme aber nicht immer, denn durch das Ersetzen des C-Präprozessors aus der GNU Compiler Collection(öffnet im neuen Fenster) durch den eigens geschriebenen Warp, habe sich die Build-Zeit um 10 bis 40 Prozent verringert.
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(öffnet im neuen Fenster) 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(öffnet im neuen Fenster) . 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(öffnet im neuen Fenster) , 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(öffnet im neuen Fenster) in Registern.
Weitere Einzelheiten zu Warp finden sich in der Ankündigung von Facebook. Der Code des unter der BSD-ähnlichen Boost Software License(öffnet im neuen Fenster) veröffentlichten Präprozessors Warp steht über Github zum Download(öffnet im neuen Fenster) bereit. Bis jetzt ist das Bauen von Warp nur unter CentOS getestet worden, die Unterstützung für weitere Betriebssysteme soll aber folgen.
- Anzeige Hier geht es zu C++: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



