for(int i=0;i<8192;i++)
{
array_3[i]+=clock()*(rand()%256);//clock() and rand in cache too?
//how many times do I need to use a variable to make it stay in cache?
//or cache is only for reading? look below plz
temp_a+=array_x[i]*my_function();
}
这个程序使用C/C++编写。
同样的事情也适用于L2。
函数是否被保存在缓存中?缓存是只读的吗?(如果我更改我的数组,那么它就会失去缓存绑定关系吗?)
编译器是否创建汇编代码以更多地利用缓存?
谢谢。