gpt4 book ai didi

java - 为什么java中二维数组的运行速度明显慢于一维数组

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:56 25 4
gpt4 key购买 nike

对于我的一个程序,我需要大内存,我用两种不同的实现来完成此操作,如下:

  int SIZE = 1000000000;
int[] rnums = new int[SIZE];
byte[] d1 = new byte[2 * SIZE];
byte[] d2 = new byte[2 * SIZE];


int SIZE = 1000000000;
int[] rnums = new int[SIZE];
byte[][] d1 = new byte[SIZE][2];
byte[][] d2 = new byte[SIZE][2];

两个程序都可以工作并产生正确的答案,但是 2D 实现速度非常慢,随着 SIZE 的增加,它变得越来越慢。

其余的代码非常相似,我不明白为什么 2D 会导致那么大的延迟。

最佳答案

根据@David Zimmerman的建议,我已将代码更改为以下代码:

  int SIZE = 1000000000;
int[] rnums = new int[SIZE];
byte[][] d1 = new byte[2][SIZE];
byte[][] d2 = new byte[2][SIZE];

它工作正常,运行正常。

关于java - 为什么java中二维数组的运行速度明显慢于一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58221674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com