可以看出,对于连加短循环,展开确实能带来性能上的提升,在vc6中展开5项时的速度是不展开时的2.5倍;由于bcc32对短循环做了优化,提高不是很明显,只有1.6倍——bcb的拥护者乐了,在这方面他们有福了,不有意优化的情况下,bcc32编译的代码的速度是vc6的1.5倍;如果大家都写优化代码,速度持平。
很奇怪最小代价展开的峰值是5项,而不是预计的4项,可能是第一次加法的耗时过多,这个谁能解释一下。另外,预计浮点运算的展开应该得到更大的性能提升,实际情况并不是这样(连1倍都没有提高),可能是我代码写得不好,谁有例子提供一下。