Compiler: Mozilla testet Clang als Firefox-Compiler für Windows
Nach Tests von Google für Chrome testet nun auch Mozilla die Verwendung des LLVM-Compilers Clang für Firefox unter Windows. Die Entwickler könnten damit auf Microsofts MSVC verzichten und ihren Compiler selber patchen.

Anfang März diesen Jahres kündigte Google an, seinen Chrome-Browser für Windows künftig mit dem Clang-Compiler des LLVM-Projekts zu erstellen, statt weiter auf Microsofts Compiler Visual C++ (MSVC) zu setzen. Diesem Vorbild folgt nun offenbar auch Mozilla für seinen Firefox-Browser. Wie der Entwickler David Major auf einer Mailing-Liste bekanntgibt, nutzt das Team nun ebenfalls Clang-Cl für die Windows-Builds des Firefox und testet das Ergebnis. Clang-Cl ist ein alternatives Kommandozeilenwerkzeug für den Clang-Compiler, das kompatibel zu Microsofts Compiler-Binary cl.exe sein soll. Getestet wird der Wechsel zunächst in den Nightly-Builds.
Major schreibt, dass es möglich sei, dass der Patch zum Ändern des Compilers vorerst möglicherweise nicht dauerhaft eingepflegt wird und das Team so zwischen Clang und MSVC hin- und herspringt. Überprüft werden könne der genutzte Compiler über about:buildconfig. Darüber hinaus bleibt MSVC dauerhaft auf der eigenen Build-Farm aktiviert, um jederzeit problemlos zu diesem Compiler zurückzuwechseln, falls dies notwendig sein sollte.
Aufbauend auf der Verwendung von Clang plant das Team weitere Veränderungen des Build-Vorgangs. So soll künftig der LLVM-Linker LLD genutzt werden und Thin LTO aktiviert werden. Bei Letzterem handelt es sich um eine spezielle Technik des LLVM-Teams zur Link-Time-Optimization (LTO), die besonders schnell sein soll. Bisher nutzen die Clang-Builds anders als die MSVC-Builds weder LTO noch Profile-Guided Optimization (PGO), was die Leistung vorerst reduzieren könnte. Zusätzlich zu der verbesserten Leistung verspricht sich Mozilla von der Nutzung der Clang-LTO die Möglichkeit, das sogenannte Inlining von Methoden auch zwischen den Programmiersprachen Rust und C++ durchführen zu können.
Die Verwendung des Open-Source-Compilers Clang bietet dem Team von Mozilla laut dazugehörigem Eintrag im Bug-Tracker darüber hinaus die Möglichkeit, die genutzten Werkzeuge falls notwendig selbst zu patchen sowie Fehler im Compiler selbst zu diagnostizieren und Problembehebungen in den Clang-Code einzupflegen. Möglicherweise könnte Mozilla langfristig auch Clang auf allen unterstützten Firefox-Plattformen nutzen, also Windows, macOS und Linux. Das Team könnte sich für seine Optimierungen so auf einen Compilern konzentrieren, auch wenn die Unterstützung für MSVC und GCC wohl nicht wegfallen würde.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
In Zeiten von Spectre und Meltdown nicht nur ein Segen ....