其实我还有很多话想说:
测试显示:测试次数越多,效率提升越小。这应该是因为内存的重复分配成为了时间主要开销的缘故。
由于公共服务器太快的缘故,服务器上面的测试次数都是我pc上的10倍或者100倍(不然运行时间都小于1秒!)。综合上面所说的,这也许是有种版本在gcc上的效率提升有限的缘故。
vs2008的效率提升比我原来说的要多,我当时弄成调试版了。有种版本使用的时间是没种版本的1/3左右!!
vc6有种版本大约比vs2008有种版本慢20%,但是双方都老实使用没种版本,vs2008所花的时间大约是vc6的170%,天啊啊啊,难道我没有阻止vc6的引用计数!
stlport很有用。对于没种版本,效率提升就已经相当眩目了,有种了之后依然还能提升30%以上.
我冤枉了intel编译器icc, icc v11的效率提升比v10高多了 . icc v10和vc6相比提升空间在20%以内,如果使用stlport,icc效率提升没有vc6那么大,有种版本icc和vc6差别不大.而icc v11明显就提升了一个档次,和vs2008的有种版本相比, icc还能挤压出20%的效率提升空间.如果打开并行支持选项,在我的双核机上效果更是骇人听闻.(不过程序文件体积有点大...). 我估计vc6的运行库有某个地方和icc v11的某些优化二进制不兼容,最终导致了icc v11放弃了对它的兼容