Windows版のChrome 64以降はClangでコンパイルされている
タレコミ by headless
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%程度の差に収まっているという。また、安定性の差異はみられないとのことだ。
Windows版のChrome 64以降はClangでコンパイルされている More ログイン