如何使C程序负载存储密集?
如何使程序集中进行加载存储,以便有最大的内存引用和可忽略的计算(甚至不包括循环开销!)使用大量的如何使C程序负载存储密集?,c,C,如何使程序集中进行加载存储,以便有最大的内存引用和可忽略的计算(甚至不包括循环开销!)使用大量的易失性变量,它们存储在内存中,但我不确定这是否回答了您的问题。使用具有大量分散读/写操作的大型阵列来最大化缓存未命中率。如果您的目标是编写一个只练习内存的程序,请在随机选择的索引处将随机值写入数组。使用gcc在此代码上使用-funroll循环: int main (int argc, char** argv) { int a = 5; int b = 10; int c;
易失性变量,它们存储在内存中,但我不确定这是否回答了您的问题。使用具有大量分散读/写操作的大型阵列来最大化缓存未命中率。如果您的目标是编写一个只练习内存的程序,请在随机选择的索引处将随机值写入数组。使用gcc
在此代码上使用-funroll循环
:
int main (int argc, char** argv) {
int a = 5;
int b = 10;
int c;
int i;
while (1) {
for (i = 0; i <= 2147483647; i++) {
c = b;
b = a;
a = c;
}
}
return 0;
}
int main(int argc,char**argv){
INTA=5;
int b=10;
INTC;
int i;
而(1){
对于(i=0;i在程序的可能输入和可能输出之间建立映射
不过,对输入的计算需要由另一个程序或手动完成。感谢sharptooth,我总是写retrun而不是return。嘿,thnks a tong…有什么方法可以刷新缓存吗?没有听说过,如果有,它依赖于平台。不过你并不真的需要它-分散的内存访问确实有用独立完成这项工作。