Yar*_*evi 3 java arrays performance arraylist
我刚看了这个代码示例:http: //robaustin.wikidot.com/how-does-the-performance-of-arraylist-compare-to-array
导致j = INT_ARRAY [i]的原因; 比j = ARRAY_LIST.get(i)快三倍
我知道ArrayList内部使用一个数组.所以我想详细了解这次添加的额外操作(调用方法,转换,其他JVM注意事项等).
提前致谢.
Jon*_*eet 10
性能将非常很大程度上取决于所涉及的虚拟机,以及各种其他考虑.该文章开头的一揽子声明使我怀疑作者对JVM的性能变化一无所知 - 其余的测试代码证实了这一点.它不会测试足够长的时间,也不会使用任何JVM预热期或类似的东西.哦,它INT_ARRAY.length在测试ArrayList版本时使用,意味着删除了一个潜在的JIT优化源.真的不是一篇好文章.
但是,考虑到ArrayList.get()涉及正常数组访问之外的事情是相当容易的:
但最终,单个方法调用的性能并不重要.在您的实际使用案例中,这是否重要.您的应用程序是否花费大部分时间从集合中获取单个元素?它是否以文章中所示的循环方式执行此操作,该循环不会执行任何其他操作,因此可以从一个案例或另一个案例中的其他JIT优化中受益?
微观标记很有趣,但在提供有用信息时需要注意其局限性.
| 归档时间: |
|
| 查看次数: |
3732 次 |
| 最近记录: |