Zum Hauptinhalt Zur Navigation

Google: Chrome wird künftig mit Clang statt Visual C++ entwickelt

Statt Microsofts proprietärem Compiler will Google den Chrome-Browser künftig nur noch mit einem Open-Source-Tool entwickeln. Clang ist ein bekannter Compiler, der neben GCC oft auf Linux genutzt wird. Google will ihn auch auf Windows nutzen. Ganz ohne Microsoft-Tools geht es dann aber doch nicht.
/ Oliver Nickel
13 Kommentare News folgen (öffnet im neuen Fenster)
Clang ist Teil der Compiler-Infrastruktur LLVM. (Bild: LLVM.org)
Clang ist Teil der Compiler-Infrastruktur LLVM. Bild: LLVM.org

Google wird neue Versionen seines Browsers Chrome in Zukunft auch für Windows-Versionen mit Clang kompilieren(öffnet im neuen Fenster) . Bisher nutzte das Unternehmen den C-Sprachen-Compiler für iOS, Android, MacOS und Linux. Die Windows-Version wurde mit Microsoft Visual C++ gebaut.

Clang ist ein Open-Source-Compiler und neben GCC eines der wichtigsten Tools in Linux-Distributionen. Darüber lassen sich viele Programmiersprachen der C-Familie, darunter C, C++, Objective C und Objective C++, kompilieren. Ein Vorteil ist laut Google, dass Clang mit Teilen von Microsoft Visual C++ (MSVC) kompatibel ist.

Es lassen sich so beispielsweise Systembibliotheken mit Visual C++ erstellen und andere Teile mit Clang. Die verschiedenen Teile können dann zu einem Programm zusammengefügt werden. Google gibt an, dass Chrome nicht ganz von MSVC unabhängig sein wird: Header und Bibliotheken kommen noch immer aus dem Hause Microsoft. Außerdem verwenden viele Chrome-Entwickler weiterhin die Entwicklungsumgebung Visual Studio – ebenfalls ein Microsoft-Produkt.

Kaum Auswirkungen auf Endnutzer

Die Verwendung von Clang ist zudem etwas weniger effizient im Vergleich zu MSVC. Lokale Builds sind laut Google 15 Prozent langsamer zu kompilieren, heißt es. Im Gegenzug lassen sich Debug-Informationen besser parallelisieren.

Die Setup-Dateien von Chrome werden mit Clang ein wenig größer – bis zu etwa 16 Prozent im Falle der 32-Bit-Datei chrome_child.dll. Allerdings sind 62 MByte noch immer wenig. Die Leistung für die Nutzer bleibt in etwa gleich.

Die geringen Leistungsverluste nimmt Google in Kauf, da ein gleicher Compiler für alle Betriebssysteme in der Entwicklung neuer Chrome-Versionen Vorteile bringt. So nutzt das Unternehmen Compiler-Tools wie Adresssanitizer und Control Flow Integrity. Diese werden von Visual C++ nicht unterstützt. Auch Optimierungen oder Änderungen an Compilerparametern kann Google für alle Betriebssysteme gleichzeitig schnell umsetzen.


Relevante Themen