1
私は-finstrument-functions
の性能テストの結果をいくつか探しています。GCC - 機器の機能オーバーヘッド
私はプロファイリングツールとして使用することを考えています。したがって、オーバーヘッドが高すぎないかどうかを知る必要があります(結果が悪くない)。
私は-finstrument-functions
の性能テストの結果をいくつか探しています。GCC - 機器の機能オーバーヘッド
私はプロファイリングツールとして使用することを考えています。したがって、オーバーヘッドが高すぎないかどうかを知る必要があります(結果が悪くない)。
オーバヘッドは、各ユーザー関数呼び出しの計装関数への2回の追加呼び出しです。
単なる3-5 * 2 asm命令です。また、計装機能自体は
__cyg_profile_func_enter
__cyg_profile_func_exit
を消費します。しかし、普通の-finstrument-functions
を使用する場合、cyg_profile関数のコードはあなたのものです。
関数がインライン化されていても、__cyg_profile *は引き続き呼び出されます。したがって、対象アプリケーションの関数呼び出し数を見積もり、呼び出しごとにオーバーヘッドの40〜100 cpuティックを掛けます。
oprofile
やLinuxカーネルperf
などのプロファイラのサンプリングに興味があるかもしれません。
コードを高速化したい場合は、[この方法を検討する](http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024)関数をインスツルメントするのは一般的ですが、それほど良い方法ではありません。 –