bma*_*ies 4 java arrays performance
我正盯着一个配置文件,其中一个CPU热点是一个包含克隆最终静态int []的函数.你可能会问,'为什么?' 调用者使用结果作为散列过程的起点.
换句话说,代码需要(逻辑上):
在我放弃或开始使用微基准测试之前,我发布这个问题,以防任何人对于使用clone()与Arrays.copyOf而不仅仅是new和arraycopy有什么特别的了解.
Arrays.copyOf利用记忆,如引擎盖下的说明.此外,索引越界检查越少.如果您逐个指定值,则每次都会进行"绑定"检查.
我还没有对每个建议的选项进行基准测试,但我相信它Arrays.copyOf()会比这更快new int[] + for(...).
另一方面,由于克隆发生在原始类型数组上,因此我不确定它Arrays.copyOf()是否会更有效int[] myCopy = myOrig.clone().编译器很有可能生成优化的字节码.只有测试才能提供明确的答案.
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |