-g -O2" " でプログラムをビルドし、 valgrind+cachegrind を実行しました。出力の解釈方法がわかりません。出力は次のとおりです。
http://daviddoria.com/Uploads/callgrind.CacheMisses
私の「プログラム全体」は、InpaintingAlgorithm「メイン」の 98.4% の関数です。ここまでは順調ですね。の呼び出し先を見るとInpaintingAlgorithm、92.9% がInpaintingAlgorithmですLinearSearchKNNProperty::operator()。これは私の「内部ループ」であり、ここでも膨大な時間が費やされると予想しています。
ここで私は混乱します。の呼び出し先を見ると、LinearSearchKNNProperty::operator()本当に何もない?? 最大の関数はわずか 7.64% で、残りは < 0.25% です。すべての呼び出し先の合計が約 8% しか追加されない理由がわかりません。残りの92%はどこ?? (おそらく、それをより速くするために私が探しているものです!)
誰かがこれらの結果を読む際の私の誤りを指摘してくれたら、私はそれを感謝します!