Windows版のChrome 64以降はClangでコンパイルされている 1
ストーリー by headless
移行 部門より
移行 部門より
Windows版Google Chromeでは、2月に安定版がリリースされたChrome 64以降でコンパイラーにClangが使われているそうだ(LLVM Project Blogの記事、
Ars Technicaの記事、
BetaNewsの記事、
Neowinの記事)。
Microsoft Visual C++(MSVC)からClangに移行する計画は数年前から進められており、MSVCビルドとClangビルドによるA/Bテストも実施していたそうだ。既に他のOS版はClangでコンパイルされているため、Windows版の移行によりClangへの移行が完了したことになる。ただし、ClangはVisual Studioに加えて使われるもので、置き換えるものではないという。現在もWindows版ChromeではMicrosoftのヘッダーやライブラリ、SDKバイナリを使用しているほか、Windows版Chromeの開発者の多くはVisual Studioを使用しているとのこと。
ClangとMSVCを比較すると、Clangによるビルドは15%遅くなるが、Clangのデバッグ情報出力方法は並列化可能であり、Gomaのような分散ビルドサービスを使用することでMSVCよりも高速になるそうだ。バイナリサイズは32ビットビルドでMSVCよりも大きくなる一方、64ビットビルドは小さくなる。パフォーマンスに関しては、Clangビルドが高速な場合とMSVCビルドが高速な場合があるものの、すべて5%程度の差に収まっているという。また、安定性の差異はみられないとのことだ。
Microsoft Visual C++(MSVC)からClangに移行する計画は数年前から進められており、MSVCビルドとClangビルドによるA/Bテストも実施していたそうだ。既に他のOS版はClangでコンパイルされているため、Windows版の移行によりClangへの移行が完了したことになる。ただし、ClangはVisual Studioに加えて使われるもので、置き換えるものではないという。現在もWindows版ChromeではMicrosoftのヘッダーやライブラリ、SDKバイナリを使用しているほか、Windows版Chromeの開発者の多くはVisual Studioを使用しているとのこと。
ClangとMSVCを比較すると、Clangによるビルドは15%遅くなるが、Clangのデバッグ情報出力方法は並列化可能であり、Gomaのような分散ビルドサービスを使用することでMSVCよりも高速になるそうだ。バイナリサイズは32ビットビルドでMSVCよりも大きくなる一方、64ビットビルドは小さくなる。パフォーマンスに関しては、Clangビルドが高速な場合とMSVCビルドが高速な場合があるものの、すべて5%程度の差に収まっているという。また、安定性の差異はみられないとのことだ。
インテルコンパイラーは使ってないんだ (スコア:0)
性能を重視するならばインテルコンパイラーは当然の選択肢だと思ってたのですが、使っていないのは有料だからですか?