放棄不切實際幻想吧,list 就一定比 vector 插的快?

      網(wǎng)友投稿 851 2022-05-29

      @[toc]

      一段對話

      如果 list 真那么好,你自己用嗎?

      用啊,我當然用啦。

      你用的是STL的嗎?還是自己寫的list?

      自己寫的。

      為什么不用STL的,是它寫的沒你好?

      它是雙向鏈表,我就偶爾用用,自己又不是不會寫。

      尾插數(shù)據(jù)測試

      //#include #include #include #include using namespace std; int main() { clock_t startTime, endTime; startTime = clock();//計時開始 //vector vec; list list_; for (int i = 0; i < 30000000; i++) //vector試過二十多億,到后面直接崩了,估計是hold不住,而且好久 { //空跑的速度在0.001~0.004之間,無妨 //vec.push_back(i); //vec.emplace_back(i); //emplace_back:在容器尾部添加一個元素,這個元素原地構造,不需要觸發(fā)拷貝構造和轉移構造。 //list_.push_back(i); //1億直接崩盤,52秒 //1千萬,12秒,622M內存,跟飛一樣。上面1億也才九百多M內存 //上面vector,3千萬,12.5秒,253M內存,高下立判 } endTime = clock();//計時結束 cout << "The run time is: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl; system("pause"); return 0; }

      自己測測,把注釋該放出來的放出來。數(shù)據(jù)我基本收走了,要數(shù)據(jù)自己動手,留下點印象也是好的。

      頭插數(shù)據(jù)測試

      //#include #include #include #include using namespace std; int main() { clock_t startTime, endTime; startTime = clock();//計時開始 //vector vec; list list_; for (int i = 0; i < 30000000; i++) //vector試過二十多億,到后面直接崩了,估計是hold不住,而且好久 { //空跑的速度在0.001~0.004之間,無妨 /*vec.insert(vec.begin(), i); cout << i << endl;*/ //頭插就開始烏龜爬了 list_.insert(list_.begin(), i); //80s,1.8G,尾插的時候只要36秒呢,看來list也不是在哪里插都是一個速度啊,但是好歹比vector要快了 //我突然有點明白nginx為什么要那樣設計ngx_array了 //1千萬,12秒,622M內存,跟飛一樣。上面1億也才九百多M內存 //上面vector,3千萬,12.5秒,253M內存,高下立判 } endTime = clock();//計時結束 cout << "The run time is: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl; system("pause"); return 0; }

      得出結論

      1、VS進程內存是有限的哈,或者說,進程能分配到的內存應該是有上限的,不然還得了?

      一個進程能使用的內存在2G左右波動,VS測試到2.2的時候沒了,網(wǎng)上都說只給2G,可以自己調哈。所以我說,2G左右嘛。

      2、list消耗內存,這個嘛,說真的,我一直覺得 list 的內存消耗是會在vector 的3倍,畢竟雙向鏈表嘛。

      但是一下高了8倍我也不知道為啥了。

      3、對于尾插,vector是真的有優(yōu)勢,其實也不難解釋,list 插一個就要去找一塊地址。

      4、list 頭插速度居然跟尾插速度不一樣?!??!差了好幾倍里面。。。

      放棄不切實際的幻想吧,list 就一定比 vector 插的快?

      5、==我終于知道 nginx 為什么要那樣設計 ngx_list 了==。

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      上一篇:SAP Spartacus unit detail 頁面顯示后自動 focus 設置的原理
      下一篇:Apache Flink 進階(四):Flink on Yarn/K8s 原理剖析及實踐
      相關文章
      亚洲综合亚洲综合网成人| 国产精品亚洲精品久久精品| 国产亚洲综合视频| 亚洲精品天堂无码中文字幕| va天堂va亚洲va影视中文字幕| 亚洲欧洲高清有无| 亚洲大片免费观看| 亚洲人成网站在线观看播放青青| 亚洲成人动漫在线观看| 亚洲黄色高清视频| 亚洲女人初试黑人巨高清| 亚洲乱码卡三乱码新区| 亚洲偷自精品三十六区| 亚洲激情视频图片| 亚洲一久久久久久久久| 亚洲精品人成网线在线播放va | 在线观看日本亚洲一区| 亚洲不卡影院午夜在线观看| 在线观看日本亚洲一区| 亚洲AV无码男人的天堂| 亚洲av无码一区二区三区人妖| 国产偷国产偷亚洲高清在线| 亚洲国产成人久久笫一页| 亚洲综合最新无码专区| 亚洲精品国产精品乱码在线观看| 久久亚洲精品视频| 色噜噜综合亚洲av中文无码| 亚洲国产成人精品无码区在线秒播| 亚洲av成人一区二区三区| 亚洲精品无码日韩国产不卡av| 亚洲AV无码一区二区三区网址| 国产成人高清亚洲一区久久| 国产成人亚洲精品影院| 亚洲国产成人片在线观看| 91亚洲国产成人精品下载| 亚洲三级在线播放| 亚洲变态另类一区二区三区| 亚洲精品tv久久久久| 亚洲国产精品无码中文字| 亚洲黄网站wwwwww| 亚洲精品第一综合99久久|