小编Tia*_*ago的帖子

优化速度 - C中的4维数组查找

我有一个适应度函数,它根据位于4D数组上的数据对int数组上的值进行评分.分析器说这个功能占用了80%的CPU时间(需要数百万次).我似乎无法进一步优化它(如果它甚至可能).这是功能:

unsigned int lookup_array[26][26][26][26]; /* lookup_array is a global variable */

unsigned int get_i_score(unsigned int *input) {
register unsigned int i, score = 0;

for(i = len - 3; i--; ) 
    score += lookup_array[input[i]][input[i + 1]][input[i + 2]][input[i + 3]];

return(score)
}
Run Code Online (Sandbox Code Playgroud)

我试图将阵列扁平化为单一维度,但性能没有改善.这是在IA32 CPU上运行的.任何CPU特定的优化也很有帮助.谢谢

c arrays lookup performance

5
推荐指数
2
解决办法
1541
查看次数

标签 统计

arrays ×1

c ×1

lookup ×1

performance ×1