メモリをテストするために、C で小さなマイクロ ベンチマークを作成しようとしています。
私のマシン (Intel i5) のキャッシュ サイズは 8MB だと思います。
100% のキャッシュ ミス率を確保しながらメモリをテストするためのロジックを誰かが提案できますか?
array1 = malloc(DCACHE_SIZE);
array2 = malloc(DCACHE_SIZE);
while(condition)
memcpy(&array1[index], &array2[index], sizeof(char));
index++;
現在、memcpy を使用して、私のプログラムは 1 秒間に 420,782,149 回 memcpy を呼び出しています。
キャッシュを回避するにはどうすればよいですか?