1. ホーム
  2. c++

[解決済み] g++でプロファイルガイド付きの最適化を使用するには?

2023-08-30 11:30:51

質問

また、どなたかこの件に関する良いチュートリアルを紹介していただけないでしょうか。私は何も見つけることができません。

どのように解決するのですか?

-fprofile-generate は、アプリケーションにプロファイリング コードを組み込みます。アプリケーションは実際に実行されている間、コンパイル時にこの使用パターンがわかっていればパフォーマンスを向上させることができる特定のイベントを記録します。分岐、インライン化の可能性など、すべてをログに記録することができますが、GCC がこれをどのように実装しているかは詳しくわかりません。

プログラムが終了した後、このすべてのデータを *.gcda ファイルにダンプします。これは、本質的にテスト実行のためのログデータです。fprofile-use フラグでアプリケーションを再構築した後、GCC は最適化を行う際に *.gcda ログデータを考慮に入れ、通常は大幅にパフォーマンスを向上させます。もちろん、これは多くの要因に依存します。