oprofile を使用してプログラムのプロファイリングを行った後、少し驚きました。
プロファイルは、私のプログラムが 85% を費やしていることを示しています_fini
:
CPU: Intel Core/i7、速度 1199 MHz (推定) ユニット マスク 0x00 (ユニット マスクなし) で CPU_CLK_UNHALTED イベント (停止していない場合のクロック サイクル) をカウント 100000 サンプル % イメージ名 シンボル名 553519 85.7402 eddic _fini
他のシンボルは良さそうです。
私のプログラムは GCC 4.7 でコンパイルされています。
私が理解していることから、シンボル_fini
はグローバルな破壊のための非推奨の構造であるため、プログラムがこのシンボルに多くの時間を費やす理由がわかりません。
oprofile または GCC の不適切な構成が原因でしょうか?
最適化されていないコードのプロファイリングを試みましたが、問題はありません。最適化されていないそのようなシンボルはありません。
プロファイルを修正する方法、または に多くの時間を費やさないようにする方法はあります_fini
か?
ペーストが非常に長いため、ペーストできません。問題を特定できませんでした。
アイデアをありがとう