我一直对我的简单游戏需要运行的时间感兴趣,所以我使用了 Netbeans Java 分析器(Java 1.7),我可以在“热点”选项卡中看到“自我时间”和“调用”列。
例如,我的渲染方法有:
自拍时间:1025 毫秒
调用:2311
所以,如果我理解得很好,这是否真的意味着所有渲染方法调用的总时间为 1025 毫秒,而一个方法执行的平均时间为 1025 / 2311 = 0.44 毫秒?
如果是这样,我可以强制 IDE 显示平均时间而不是总时间吗?
通常,“自我时间”测量在方法主体内花费的时间——不包括在它调用的方法中花费的时间。例如,假设您有一个简单的方法来检索已排序的用户,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 本身确认或否认这一点。