我正在尝试用 C 编写一个微型基准测试来测试内存。
我相信我的机器(Intel i5)上的缓存大小是 8MB..
有人可以建议一些逻辑来测试内存,同时确保 100% 的缓存未命中率吗?
array1 = malloc(DCACHE_SIZE);
array2 = malloc(DCACHE_SIZE);
while(condition)
memcpy(&array1[index], &array2[index], sizeof(char));
index++;
目前,使用 memcpy,我的程序每秒对 memcpy 调用 420,782,149 次。我认为这个数字有严重问题(它击中缓存很多)
如何避免缓存?