Netbeans Profiler的“自我时间”究竟意味着什么?

时间:2012-07-20 14:48:32

标签: netbeans profiling

我一直对我的简单游戏需要运行感兴趣所以我使用了Netbeans Java Profiler(Java 1.7),我可以在“Hot Spots”选项卡中看到“Self Time”和“Invocations”列。

例如,我的渲染方法有:

自拍时间:1025毫秒

调用:2311

所以,如果我理解得很好,它实际上是否意味着所有渲染方法调用的总时间总和为1025毫秒,一个方法执行的平均时间为1025/2311 = 0.44毫秒< /强>

如果是这样,我可以强制IDE显示平均时间而不是总时间吗?

1 个答案:

答案 0 :(得分:20)

通常,&#34;自我时间&#34;测量 in 方法体所花费的时间 - 不包括在它调用的方法中花费的时间。例如,假设您有一个简单的方法来检索已排序的用户getUsers,该用户调用了两种不会自行进行任何其他调用的方法。

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本身确认或否认这一点。