日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除

發(fā)布時(shí)間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? 相關(guān)環(huán)境和說(shuō)明在《C++拾趣——STL容器的插入、刪除、遍歷和查找操作性能對(duì)比(Windows VirtualStudio)——插入》已給出。本文將分析各個(gè)容器中遍歷和查找的性能。(轉(zhuǎn)載請(qǐng)指明出于breaksoftware的csdn博客)

遍歷

從前往后

traversal_begin_16384_highest

? ? ? ? 性能最差的是map、multimap、set和multiset這兩簇。

? ? ? ? 其他容器性能差距不大。

? ? ? ? 非關(guān)聯(lián)容器中,list的性能最差。

從后往前

? ? ? ? ?支持從后向前遍歷的容器并不多,只有:vector、deque、list、set、map、multiset和multimap。

元素個(gè)數(shù)>15000

traversal_end_16384_highest

? ? ? ? 非關(guān)聯(lián)容器的性能要優(yōu)于關(guān)聯(lián)容器。

? ? ? ? 非關(guān)聯(lián)容器之間相比,性能差距不大。

? ? ? ? 在12500個(gè)元素之前,vector的效率要比list和deque低,但是之后vector是最優(yōu)的。

元素個(gè)數(shù)<4096

traversal_end_4096_highest

? ? ? ? vector在初期會(huì)有高耗時(shí)操作,之后性能優(yōu)秀(通過(guò)斜率)。

結(jié)論:

? ? ? ? 除了map、multimap、set和multiset,其他容器的遍歷性能都差不了太多。

查找

? ? ? ??因?yàn)榉顷P(guān)聯(lián)容器的查找只能通過(guò)遍歷,其效率和關(guān)聯(lián)容器的查找沒法比。所以我們只比較關(guān)聯(lián)容器。

元素個(gè)數(shù)>15000

find_16384_highest

? ? ? ? set類要優(yōu)于對(duì)應(yīng)的map類容器。即set優(yōu)于map;multiset優(yōu)于multimap;unordered_set優(yōu)于unordered_map;unordered_multiset優(yōu)于unordered_multimap。

? ? ? ? multi類要優(yōu)于對(duì)應(yīng)的非multi類容器。即multimap優(yōu)于map;multiset優(yōu)于set;unordered_multimap優(yōu)于unordered_map;unordered_multiset優(yōu)于unordered_set。

? ? ? ? 無(wú)序關(guān)聯(lián)容器要優(yōu)于有序關(guān)聯(lián)容器。

? ? ? ?文中圖例可從如下地址獲取:https://github.com/f304646673/stl_perf/tree/master/windows

總結(jié)

以上是生活随笔為你收集整理的C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。