STL各个容器性能详细比较

 更新时间:2013年09月23日 09:24:22   作者:  
从下面表中的数据来看写入用时vector和deque很快,因为他们内存分配次数少,关联容器和list都是一个一个分配的,一个一个分配也会造成内存碎片,内存利用率低

写入40M的int变量

容器 内存 写入用时 从头部移除用时
vector                                 47M                    5 秒                         
list            739M          21秒                 69 秒                                 
deque            217M    4 秒                  2203毫秒
set            821M    137秒                  
map            905M   136秒                  

从上面的数据来看写入用时vector和deque很快,因为他们内存分配次数少,关联容器和list都是一个一个分配的,一个一个分配也会造成内存碎片,内存利用率低。

每次在中间插入数据,写入40M的int变量

容器 时间
deque 太慢不知道什么时候可以完成      
list 47秒    

说明在中间插入或者删除list很快,在头部或者尾部要比deque慢很多

相关文章

  • c++中STL库队列详细介绍

    c++中STL库队列详细介绍

    大家好,本篇文章主要讲的是c++中STL库队列详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • c++获取进程信息列表和进程所调用的dll列表

    c++获取进程信息列表和进程所调用的dll列表

    这篇文章主要介绍了c++获取进程信息列表和进程所调用的dll列表,大家参考使用吧
    2013-11-11
  • C语言指针超详细讲解上篇

    C语言指针超详细讲解上篇

    指针提供了对地址操作的一种方法,因此,使用指针可使得 C 语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。在一定意义上可以说,指针是 C 语言的精髓
    2022-04-04
  • C语言signed关键字的详细使用

    C语言signed关键字的详细使用

    这篇文章主要介绍了C语言signed关键字的详细使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    的相关资料
    2017-06-06
  • C++实现LeetCode(18.四数之和)

    C++实现LeetCode(18.四数之和)

    这篇文章主要介绍了C++实现LeetCode(18.四数之和),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++11非受限联合体的使用

    C++11非受限联合体的使用

    本文主要介绍了C++11非受限联合体的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C++类中变量也可以是引用的代码实例

    C++类中变量也可以是引用的代码实例

    今天小编就为大家分享一篇关于C++类中变量也可以是引用的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • 深入解析C++编程中的纯虚函数和抽象类

    深入解析C++编程中的纯虚函数和抽象类

    这篇文章主要介绍了深入解析C++编程中的纯虚函数和抽象类,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • C语言顺序查找算法介绍及示例

    C语言顺序查找算法介绍及示例

    顺序查找又称线性查找,主要用于在线性表中进行查找。顺序查找通常分为对一般的无序线性表的顺序查找和对按关键字有序的顺序表的顺序查找,下面我们来一探究竟
    2022-08-08
  • C程序中Ubuntu、stm32的内存分配问题

    C程序中Ubuntu、stm32的内存分配问题

    这篇文章主要介绍了C程序中Ubuntu、stm32的内存分配问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论