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日

 

関連記事

最新記事