Linux版Google ChromeのビルドにClangが使われる理由
2015年1月7日 16:25
Linux版Google ChromeのビルドにはGCCではなくLLVMベースのコンパイラであるClangが使われている。昨年10月にリリースされたChrome 38からGCC 4.6に代わりClangが採用されるようになったのだが、この理由についてPhoronixが記事にしている。
これによると、Clang採用の理由はすでに多くの開発者がLinux上でClangを使っていたということと、C++のより新しい機能を利用するためらしい。Clangは診断出力が優れており、スピードも速く、さらにChromium(Chromeの開発版)に特化したClang向けプラグインも作られていたため、開発者のClangへの移行が進んでいたそうだ。GCCのより新しいバージョンではC++の新機能のサポートが進んでいるものの、GCCをアップグレードするよりもClangに移行したほうが容易だと判断したという。
実際にClangに移行したところ、性能面ではほとんど変化はなかったが、バイナリサイズは8%ほど小さくなったとのこと(Phoronixの別記事)。
なお、Mac版ChromeはChrome 15よりClangでビルドされており、Windows版ChromeにおいてもClangでのビルドを可能にするよう作業が進められているという。いっぽう、AndroidやChrome OS向けではまだGCCが使われているそうだ。
スラッシュドットのコメントを読む | デベロッパーセクション | プログラミング | デベロッパー
関連ストーリー:
IntelがClangベースのC++コンパイラを開発 2014年05月02日
RMS曰く、LLVMはフリーソフトウェアに対する大きな障害 2014年01月26日
FreeBSD、x86アーキテクチャにおいて正式にLLVM/Clangへの移行を果たす 2012年11月11日
LLVMのC/C++コンパイラは分かりやすいエラーメッセージを出力 2010年04月13日