私は次のような配列を持っています
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.
なぜこれが起こるのですか?クアッドコアプロセッサを搭載したInteli7を使用しています。私のハードウェア構成がこれに関与しますか?そうでない場合、考えられる理由は何でしょうか?