我再STL的VECTOR向量里进行了数量比较大的数据末尾插入以及反复的遍历统计等操作。
可是结果使用STL再DEBUG状态下表现的非常差。后来我把代码改写成数组后效率至少有一倍以上的提升。
我想知道STL这种效率不高的状态下能否再RELEASE状态下得到改善?如果不行的话,我得把程序全改成数组了,唉。

解决方案 »

  1.   

    VECTOR 就是数组的封装 ,肯定比数组慢点,但是易于维护 ,不会有你说的那么慢,好好检察一下
      

  2.   

    我觉得你的慢的原因是因为你的数组是一次性分配内存的 ,
    但是 VECTOR 不是,不过你可以用resize  来分配,一样的
      

  3.   

    同意楼上的
    你不停的插入,vector的已经分配的内存不够用,会导致vector重新分配内存,并且拷贝原有的内容,这样表现出来的效率当然会很差了
      

  4.   

    不是那么简单,我再插入数据之前已经reserve预分配内存给vector了。
    速度慢的原因有两点,一个push_back时要慢于数组。第二就是采用[]操作符也效率不高。
    我的程序要反复计算遍历好几十万遍数组,我想STL已经不能满足我需要了,我在正在自己做个动态数组........
      

  5.   

    如果仅仅插入和遍历的话,建议list