- 论坛徽章:
- 0
|
#include <stdlib.h>
#define TIMES 50
char buf1[128][40960];
char buf2[128][40960];
int main(int argc,char *argv[])
{
int i,j;
int times = 0;
int fine = 1;
if (argc == 2)
fine = atoi(argv[1]);
if(fine) {
while(times++ < TIMES)
for(i=0;i<sizeof(buf1)/sizeof(buf1[0]);++i)
for(j=0;j<sizeof(buf1[0]);++j) {
buf1[j] = buf2[j];
}
} else {
while(times++ < TIMES)
for(j=0;j<sizeof(buf1[0]);++j)
for(i=0;i<sizeof(buf1)/sizeof(buf1[0]);++i) {
buf1[j] = buf2[j];
}
}
return 0;
}
在FLW2的BOLG上看的 有点不太理解
为什么else后面那段会颠簸呢?假设cache_line_size为128字节
cache是缓存从内存中读取的数据的 那么指令预取放在说明中?
sizeof(buf)访问内存吗?呵呵 因为电脑没在身边 不好GCC -S看
希望指教 |
|