Firefoxの開発者であるMike Hommey氏は9月12日(フランス時間)、「glandium.org ≫ Blog Archive ≫ Firefox is now built with clang LTO on all* platforms」において、次のナイトリーからTier-1プラットフォームのFirefoxすべてがLLVM Clangでビルドされることになると伝えた。これらビルドではLTO (Link-Time Optimization; リンク時最適化)が有効にされており、パフォーマンスが向上すると説明がある。なお、WindowsとLinuxではPGO (Profile-Guided Optimization; プロファイルに基づく最適化)も有効になっている。

特にLTOを有効にしたLLVM ClangビルドバイナリはLinuxで大きなパフォーマンスの改善を示し、PGOを有効にしたGCC 6.4でビルドしたFirefoxと、LTOを有効にしたLLVM ClangでビルドしたFirefoxとでは、LLVM ClangでビルドしたFirefoxの方がTalosテスト平均で5%以上の性能向上が確認されたという。特定の項目では18%の向上もあったとしている。さらに、近々リリースが予定されているLLVM Clang 7では2%から5%の性能改善が期待できるとしている。

  • glandium.org ≫ Blog Archive ≫ Firefox is now built with clang LTO on all* platforms

    glandium.org ≫ Blog Archive ≫ Firefox is now built with clang LTO on all* platforms

Mike Hommey氏はGCCでLTOを有効にしたり、より新しいバージョンのGCCでビルドしたりという取り組みを試みたものの、LTOオプションを指定するとリンカーエラーが発生し、より新しいバージョンのGCCを使った場合は古いシステムでのバイナリ互換性が維持できなくなったと説明。性能の差などもあり、さまざまな状況を勘案した結果、GCCでビルドできるようにすることよりもLLVM Clangへ移行するほうが望ましいと判断したとしている。

Firefox Quantumはすでに速度の面ではGoogle Chromeと拮抗するレベルに到達していると見られている。ビルドをLLVM Clangに完全移行することで、さらに性能の向上を期待できる。また、LLVM Clang 7の公開後には追加で性能の向上が期待できることになる。