-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%はどこ?? (おそらく、それをより速くするために私が探しているものです!)
誰かがこれらの結果を読む際の私の誤りを指摘してくれたら、私はそれを感謝します!