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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

map unordered_map hash_map的查找性能测试

發(fā)布時間:2024/2/28 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map unordered_map hash_map的查找性能测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

結(jié)論如下:

Release模式下:

1. 容量為10的時候,查找效率:map > unordered_map > hash_map

2. 容量為100的時候,查找效率:map = unordered_map > hash_map

3. 容量為1000的時候,查找效率:unordered_map > hash_map > 4倍map

4. 容量為1萬的時候,查找效率:hash_map > unordered_map > 4倍map

5. 容量為10萬的時候,查找效率:hash_map > unordered_map > 4倍map

6. 容量為100萬的時候,查找效率:hash_map > unordered_map > 1.6倍map

7. 容量為1000萬的時候,查找效率:hash_map > unordered_map > 1.4倍map

8.?容量為1億的時候,程序崩潰了,哈哈哈哈哈哈,如果你知道原因請告訴我

9. debug模式下和release模式下,差距非常大,幾百倍的差距。。。。。

Debug模式下:

1. 查找效率:hash_map > unordered_map > map

2. 隨著容量的增加,hash_map, unordered_map的查找效率有所降低,但浮動不大畢竟是常量級別。map的效率直線下降。。。

3. 容量為一千萬的時候,程序同樣崩潰

實驗結(jié)果如下圖:

Release模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Debug模式(注意:相比Release模式還降低了10倍的查詢量)

? ??

?

代碼如下:

#include<iostream> #include<map> #include<hash_map> #include<unordered_map> #include<boost/progress.hpp>using namespace std; using namespace boost;// 測試函數(shù), // size?? ??? ?:?? ?map的實際大小 // times?? ?:?? ?查找的輪次,每一輪次都從0查找到size-1 void test(int size, int times) {cout << "size=" << size << "; times=" << times << endl;map<int, int>?? ??? ??? ??? ?m;unordered_map<int, int>?? ??? ?um;hash_map<int, int>?? ??? ??? ?hm;// 初始化for (int i = 0; i<size; i++){m[i] = i;um[i] = i;hm[i] = i;}// map的查找{int count = 0;progress_timer t; // progress_timer變量會在創(chuàng)建時計時,析構(gòu)時自動打印出耗時,所以不會受到前面初始化的影響,下同,不再解釋for (int i = 0; i<times; i++){for (int j = 0; j<size; j++){if (m.find(j) != m.end()){count++;}}}cout << "count:" << count <<", map:";}// unordered_map的查找{int count = 0;progress_timer t;for (int i = 0; i<times; i++){for (int j = 0; j<size; j++){if (um.find(j) != um.end()){count++;}}}cout << "count:" << count << ", unordered_map:";}// hash_map的查找{int count = 0;progress_timer t;for (int i = 0; i<times; i++){for (int j = 0; j<size; j++){if (hm.find(j) != hm.end()){count++;}}}cout << "count:" << count << ", hash_map:";} }int main() {test(10,10000000);?? ??? ?// 容量:10?? ??? ?查找:1千萬輪次test(100, 1000000);?? ??? ?// 容量:100?? ??? ?查找:1百萬輪次test(1000, 100000);?? ??? ?// 容量:1000?? ??? ?查找:10萬輪次test(10000, 10000);?? ??? ?// 容量:10000?? ?查找:1萬輪次test(100000, 1000);?? ??? ?// 容量:100000?? ?查找:1000輪次test(1000000, 100);?? ??? ?// 容量:1000000?? ?查找:100輪次test(10000000, 10);?? ??? ?// 容量:10000000?? ?查找:10輪次getchar();return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的map unordered_map hash_map的查找性能测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 玩弄人妻少妇500系列视频 | 鸭子av | 黄av在线播放 | 久久视频一区 | 免费av小说 | 欧美性生活一区二区 | 韩国av不卡| 日本不卡一区在线 | 亚洲热在线 | 亚洲色图p | 尹人香蕉网 | 日本免费一区二区三区四区五六区 | 三男一女吃奶添下面 | 久久精品123| 国产黄色一区二区三区 | 国产精品无码av在线播放 | 亚洲大成色 | 亚洲综合区 | 精品久久精品 | 精品乱人伦一区二区三区 | 黑人和白人做爰 | 苏晴忘穿内裤坐公交车被揉到视频 | 日韩中文字幕在线免费观看 | 精品人妻一区二 | 亚洲人体av | 欧美一区二区三区网站 | 91成人毛片| 国产精品9999 | 天堂中文在线观看 | 性户外野战hd | 岛国精品在线 | 色屁屁www | 一级全黄裸体片 | 在线播放一级片 | 免费视频污 | 四虎少妇做爰免费视频网站四 | 成人av网站大全 | 91精品毛片 | 蜜桃成人网 | 午夜久久久久久久久久影院 | 91超碰免费在线 | 99草视频| 国产欧美精品一区二区色综合朱莉 | 欧美国产综合 | 五月激情开心网 | 在线 日本 制服 中文 欧美 | 日本一本在线 | 免费网站成人 | 色噜噜综合 | 国产精品无码电影在线观看 | 欧美成人手机在线 | 爱福利视频一区二区 | 天使色吧 | 国产精品夜夜爽 | 日本少妇做爰全过程毛片 | 日本人妻丰满熟妇久久久久久 | 黄色a级片| 青青草视频偷拍 | av88av| 天堂网中文在线观看 | 中文字幕日韩精品在线 | 俺去日 | 国产日韩成人 | 日本精品免费一区二区三区 | 宅男噜噜噜 | 成熟的女同志hd | 毛片毛片毛片毛片毛片毛片毛片 | 日本老年老熟无码 | 欧美日韩精品免费 | 成长快手短视频在线观看 | 黄色一级片网站 | 特大黑人娇小亚洲女 | 亚洲成人三区 | 一本大道东京热无码aⅴ | 美女精品一区 | 99re这里只有精品首页 | 日日操天天射 | 午夜青青草 | 青青草视频免费 | 性欧美日本 | 欧美高清在线一区 | 思思久久99 | 中文字幕av资源 | 91视频精选| 亚洲综合免费 | 日韩精品久久久久久免费 | 欧美人与性囗牲恔配 | 中文字幕一二三四区 | 天堂中文在线免费观看 | 在线免费观看亚洲 | 亚洲国产一二三 | 大肉大捧一进一出好爽视频 | 久久人人爽人人爽人人片av高清 | 午夜欧美精品 | 成人www.| 羞视频在线观看 | 中文字字幕在线中文乱码电影 | 男女无遮挡猛进猛出 | 九九热伊人 |