5

私は現在、Chromium のローカル ビルドを実行することの潜在的な長所と短所を比較検討しています。

これまでソースから Chromium をビルドしたことはありませんが、これが巨大なプロジェクトであり、コンパイル要件が大きく、時間がかかることは理解しています。

私は以前にこのアイデアに手を出しましたが、理由はパフォーマンスに集中していました。具体的には:

  • Chromium は Profile Guided Optimization から多くの恩恵を受けることができますか?
  • GCC ネイティブ CPU 最適化を使用して Chromium をビルドすると、一般的なバイナリ ビルドを使用する場合よりも、パフォーマンスがわずかに向上するだけではありませんか? (特にハスウェル アーチとブロードウェル アーチの場合)
  • Chromium をローカルでビルドするときの全体的なパフォーマンスまたはメモリ効率を改善するために他にできることはありますか?

当時、少し調べた結果、これは努力する価値がないという結論に達しました。

数年前に Firefox の PGO ビルドを実行したことを覚えていますが、Firefox は依然として PGO ビルドの実行を適切にサポートしているようです。ただし、Chromium の場合は、もっと複雑なようです。

Chromium は、PGO ビルドをネイティブでサポートしているようです。残念ながら、そのサポートは完全に Windows 固有のようです。他のオペレーティング システム用の PGO ビルドはサポートされておらず、Chromium 独自のビルドの複雑さを考えると、この支援なしに PGO ビルドを試みる価値はないように思われました。

Linux でこれを試みて成功した人を他の誰かが知っているなら、私はその結果に非常に興味があります。

GCC の CPU 最適化に関しては、ここで提供される利点はほとんどの場合わずかであると理解していますが、Chromium がいかに複雑であるかを考えると、ほとんどのアプリケーションよりも多くの利点が得られる可能性が高いと思われます。

GCC の最適化だけに取り組む価値はないかもしれませんが、もう一度これを行うことを検討している理由は、パッチを利用して VA-API を有効にすることもできるからです: https://aur.archlinux.org/packages /クロム-vaapi/

最後に、ハードウェア アクセラレーションによるビデオ デコーディングのサポートを得ることは、ここで努力する価値があるかもしれません。今、私が興味を持っているのは、これを行うときのパフォーマンスに関する考慮事項です。

tl;dr

  • ネイティブ CPU 最適化を使用してローカルでコンパイルされた Chromium のビルドを使用する場合、パフォーマンスに目に見える違いがあると期待できますか?
  • Chromium を使用した PGO は Linux で実行できますか? もしそうなら、実際のプロファイリングを行う最善の方法は何ですか?
4

1 に答える 1