8

我一直对我的简单游戏需要运行的时间感兴趣,所以我使用了 Netbeans Java 分析器(Java 1.7),我可以在“热点”选项卡中看到“自我时间”和“调用”列。

例如,我的渲染方法有:

自拍时间:1025 毫秒

调用:2311

所以,如果我理解得很好,这是否真的意味着所有渲染方法调用的总时间为 1025 毫秒,而一个方法执行的平均时间为 1025 / 2311 = 0.44 毫秒

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

4

1 回答 1

22

通常,“自我时间”测量在方法主体内花费的时间——不包括在它调用的方法中花费的时间例如,假设您有一个简单的方法来检索已排序的用户,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 本身确认或否认这一点。

于 2012-07-20T23:41:33.527 回答