上次比较队列性能,sgi-stl比我的高了一倍还多(是我的2.3倍,还是夹杂在一堆别的代码中的,估计实际上3倍都挡不住),于是下决心改善代码质量。但这需要不断的积累,现在只能一点点的来——哎,什么时候才能看见大师的背影呢。就从短循环开始吧,这个对cpu的开销是非常大的,而程序中出现的几率比较大,因此,对其的优化,能带来效率的大幅提升。为了说明问题,做了如下的测试:(我把我写的timer.h拷到inlcude目录里了)测试环境:c500、192ram、win2000sp3、关掉其他前台程序
测试程序1
#include <iostream.h>
#include <timer.h>
void sum1()
{
int j = 0;
for (unsigned i = 1; i < 630001; i++) j += i;
}
void sum2()
{
int j = 0;
for (unsigned i = 1; i < 630001;)
{
j += i++;
j += i++;
}
}