2012年11月15日

C语言循环优化二三事(二)

摘要: 在前一篇博客里,我们提出了三种常见的循环优化的方法,主要包括:减少不必要的计算,减少不必要的函数调用,减少不必要的内存访问。这三种方法跟特定的机器的特性无关,具有很强的通用性。今天,我们本着榨干机器最后一滴性能的原则,再进一步提出几种跟指令执行有关系的优化方法。一.循环展开循环展开可以减少循环的次数,对程序的性能带了两方面的提高。一是减少了对循环没有直接贡献的计算,比如循环计数变量的计算,分支跳转指令的执行等。二是提供了进一步利用机器特性进行的优化的机会。例子:优化前的代码见前一篇博客里的sum3.优化后:void sum4(vec_ptr v,data_t *dest){int i;int 阅读全文
posted @ 2012-11-15 16:12 lisperl 阅读(8637) 评论(2) 推荐(4) 编辑