Java性能分析:私有属性Getter具有较大的基准时间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java性能分析:私有属性Getter具有较大的基准时间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1543字,纯文字阅读大概需要3分钟。
内容图文
![Java性能分析:私有属性Getter具有较大的基准时间](/upload/InfoBanner/zyjiaocheng/757/95fdd0b6a541410d99c717a27463136f.jpg)
我正在使用TPTP来描述一些运行缓慢的Java代码,我遇到了一些有趣的东西.我的一个私有属性getter在执行时间分析结果中具有较大的基本时间值.公平地说,这个属性被称为很多次,但我绝不会猜到这样的属性需要很长时间:
public class MyClass{
private int m_myValue;
public int GetMyValue(){
return m_myValue;
}
}
好的,所以在课堂上显然有更多的东西,但正如你所看到的,当调用getter时没有其他事情发生(只返回一个int).一些数字给你:
>大约30%的运行呼叫是
在吸气器上(我正努力减少
这个)
>大约25%的基准时间
跑步是在这个吸气剂中度过的
>平均基准时间为0.000175s
为了比较,我在另一个使用此getter的类中有另一种方法:
private boolean FasterMethod(MyClass instance, int value){
return instance.GetMyValue() > m_localInt - value;
}
其平均基准时间低得多,为0.000018s(低一个数量级).
这是什么交易?我假设有一些我不理解的东西或我遗漏的东西:
>返回本地原语真的需要比返回计算值更长的时间吗?
>我应该查看基准时间以外的指标吗?
>这些结果是否具有误导性,我需要考虑其他一些分析工具?
编辑1:根据下面的一些建议,我将方法标记为最终并重新运行测试,但我得到了相同的结果.
编辑2:我安装了YourKit的演示版本来重新运行我的性能测试,并且YourKit结果看起来更接近我的预期.我将继续测试YourKit并报告我发现的内容.
编辑3:更改为YourKit似乎解决了我的问题.我能够使用YourKit来确定代码中的实际慢点.下面有一些很好的评论和帖子(适当地提出),但我接受了第一个建议YourKit为“正确”的人. (我不以任何方式与YourKit有关联/ YMMV)
解决方法:
这听起来很奇怪.你不是错误地称之为压倒一切的方法,是吗?
我很想下载a demo version of YourKit.设置起来很简单,它应该说明实际发生了什么.如果TPTP和YourKit都同意,那么就会发生一些奇怪的事情(我知道这并不是很多帮助!)
内容总结
以上是互联网集市为您收集整理的Java性能分析:私有属性Getter具有较大的基准时间全部内容,希望文章能够帮你解决Java性能分析:私有属性Getter具有较大的基准时间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。