经过一些阅读,我发现在 java 中复制数组的方式存在一些差异。对于我的应用程序,我有一个节点的递归树,每个节点包含一个二维板数组 (8x8)。
通过探查器测试,我能想到的最好的方法是 java.util.Arrays.copyOf(array) 方法,它使用 native System.arraycopy。
即便如此,我还是花费了 80% 的时间来创建新数组。如果有人对如何加快速度有任何想法,我将不胜感激。也许使用 64 项数组而不是 8x8 会更快。我很快就会对此进行测试。
最佳答案
您将 80% 的时间花在复制数组这一事实意味着以下两种情况之一:
- 数组复制太慢;
- 除了复制数组,您几乎没有做任何其他事情。
您的复制性能可能已经处于领先地位;请考虑您的应用程序的架构,尝试减少复制的数据量。
关于java - 需要更快的阵列复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902079/