我有像这样的数组
byte[] b = new byte[10];
byte[] b1 = new byte[1024*1024];
我用一些值填充它们。说,
for(i=0;i<10;i++){
b[i]=1;
}
for(i=0;i<1024*1024;i++){
b1[i]=1;
}
然后我将它写入一个 RandomAccessFile 并再次从该文件读取到同一个数组中,使用,
randomAccessFile.write(arrayName);
and
randomAccessFile.read(arrayName);
当我尝试计算这两个不同大小(10 字节和 1Mb)的数组的吞吐量(使用为文件读取和写入计算的时间)时,1MB 数组的吞吐量似乎更高。
Sample Output:
Throughput of 10kb array: 0.1 Mb/sec.
Throughput of 1Mb array: 1000.0 Mb/sec.
为什么会这样?我有四核处理器的 Intel i7。我的硬件配置会对此负责吗?如果不是,可能的原因是什么?