
编码习惯
聆听者65
这个作者很懒,什么都没留下…
展开
-
【每周至少一篇 160901】循环级别的代码优化(上周补充)
时间紧,这两周的博客主要回顾一下学习《并行算法设计与性能分析》的小部分,希望以后能养成这些习惯。循环级别的优化以发掘循环的并行性、减少寄存器和缓存的使用为主。循环展开目的是减少判断数量和改变循环变量的次数。同时注意不易展开过多,要考虑寄存器的数量。float sum = 0.0f; for(int i = 0; i < num; i += 4){ sum += a[i]; }代码进行展开后f原创 2016-09-01 13:09:53 · 339 阅读 · 2 评论 -
【每周至少一篇 160901】语句级别的代码优化
接着上一篇,我们继续总结《并行算法设计与性能优化》中的语句级别优化。对于语句级别的优化来说,要尽量避免语句生成不需要的指令,或者让语句生成更为高效的指令。 减少对内存的读写 需要多次访问函数参数指针指向的值,则可将其保存在寄存器中 for(int i = 0; i i++){ a[i] += a[i-1]; } 进行优化之后 temp = a[0]; for(int i =原创 2016-09-02 23:29:10 · 341 阅读 · 2 评论