LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. |
Googleは1月5日(米国時間)、「LLVM Project Blog: Using clang for Chrome production builds on Linux」において、Linux向けのGoogle ChromeのビルドをGCC 4.6からLLVM Clangへ変更した理由を説明した。昨今、デフォルトコンパイラをGCCからClangへ変更するプロジェクトやプロダクトが増えている。
GoogleはGCCからClangへ移行した理由として、次の2つを挙げている。
- Linuxを利用しているChromium開発者の多くがClangを使用しており、すでに移行の準備が整っていた。Clangには優れた診断機能があり、コンパイル時間の短さなどの特徴もある。バイナリの性能はGCCが生成した場合とほぼ同じで、バイナリのサイズは8%ほど減少している。
- C++の最新の機能を利用したいと考えているため、Clangはその要望に十分にこたえてくれる。
これで、GoogleはMac OS X向け、iOS向け、Linux向けのChromeのビルドにClangを採用したことになる。Android向けとChrome OS向けのコンパイラにはGCC 4.8が、Windows向けのChromeにはVisual Studio 2014 Update 4が使われている。Googleは、WindowsにおいてはVisual Studio 2014 Update 4のほうが優れたバイナリを生成すると説明しており、Clangの生成するバイナリの性能とサイズがこれに追いついてきたら移行を図るとしている。