我有一个for循环,它将运行多次,并且将花费大量时间:
for (int z=0; z<temp; z++)
{
float findex= a + b * A[z];
int iindex = findex ;
outArray[z] += inArray[iindex] + (findex - iindex) * (inArray[iindex+1] - inArray[iindex]);
a++;
}
我已经优化了这个代码,但是没有性能改进也许我的SSE码不好,有人能帮我吗?
最佳答案
尝试在inArray和outArray上使用restrict
关键字否则编译器必须假设inArray
可以是==outArray
在这种情况下,不可能并行化。
关于c - 谁能帮助我针对SSE循环进行优化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20557798/