callgrind を使用して C++ コードをプロファイリングし、kcachegrind で視覚化しています。
たとえば、私のプログラムが次の場合:
main() {
function1();
function2();
}
main() には 2 つのエッジがあり、1 つは function1() と function1() によって呼び出されるすべてのもの、もう 1 つは function2() と function2() によって呼び出されるすべてのものです。
代わりに得られるのは、main() が function1() に対してエッジを持ち、function1() が function2() に対してエッジを持つということです。これは私には間違っているように思えますが、誰かがこれがなぜなのか詳しく説明できますか?