8

シンプルなゲームを実行するのに必要な時間に興味があったので、Netbeans Java プロファイラー (Java 1.7) を使用しました。「ホット スポット」タブに「セルフ タイム」列と「呼び出し」列が表示されます。

たとえば、私の render メソッドには次のものがあります。

セルフタイム: 1025 ミリ秒

呼び出し: 2311

それで、私がよく理解していれば、実際には、すべてのレンダリングメソッド呼び出しの合計時間が 1025 ミリ秒になり、1 つのメソッド実行の平均時間が 1025 / 2311 = 0,44 ミリ秒になるということですか?

その場合、IDE に合計時間ではなく平均時間を表示させることはできますか?

4

1 に答える 1

22

通常、「自己時間」は、メソッド本体内で費やされた時間を測定します (呼び出したメソッドで費やされた時間は除く)。たとえば、並べ替えられたユーザーを取得するための単純なメソッドがあるとします。このgetUsersメソッドは、他の呼び出しを行わない 2 つのメソッドを呼び出します。

UserList getUsers() {
    return sortUsers(loadUsers());
}

getUsersは機能しないため、メソッドの呼び出しにコストがかかりますが、セルフタイムは非常に短くなります。

Method       Self Time  Call Time
-----------  ---------  ---------
getUsers          3 ms   1,184 ms
loadUsers       923 ms     923 ms
sortUsers       258 ms     258 ms

これは、NetBeans ではなく、私が使用した他のプロファイルに基づいています。NetBeans 自体について、誰かがこれを確認または否定できることを願っています。

于 2012-07-20T23:41:33.527 に答える