【发布时间】:2018-07-06 20:43:09
【问题描述】:
我正在尝试查看是否可以提高 C++ 中以下循环的性能,该循环使用二维向量(_external 和 _Table),并且对上一次迭代具有携带循环依赖性。此外,它在最内层循环中有一个计算索引访问器,这将使 _Table 在右侧的访问是非顺序的。
int N = 8000;
int M = 400
int P = 100;
for(int i = 1; i <= N; i++){
for(int j = 0; j < M; j++){
for(int k =0; k < P; k++){
int index = _external.at(j).at(k);
_Table.at(j).at(i) += _Table.at(index).at(i-1);
}
}
}
我可以做些什么来提高这样的循环的性能?
【问题讨论】:
标签: multithreading performance for-loop parallel-processing