• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            std::map查詢效率優(yōu)化

            0.現(xiàn)狀,數(shù)據(jù)是個xml文件,每個節(jié)點對應(yīng)的結(jié)構(gòu)體有10個成員變量,共有2000多條數(shù)據(jù),用的std::map<string, struct>來保存,用map的find函數(shù)進行搜索時的效率極

             

            其低下,循環(huán)搜索30條數(shù)據(jù)竟然要20s+,搓死。

             

            1.為什么這么慢?

            最初懷疑是std::map的效率問題,正考慮是否使用std::hast_map來替換,于是了解下兩者之間的差別:

            std::map是個自平衡的紅黑樹,他的效率是平均的

            hash_map的是一個hash表,只要你的hash算法足夠唯一,你的效率可以達到O(1)

             

            翻書時大牛就在旁邊,就問了他,把情況和他一說。他立刻點名:

            用hash_map的效率確實會比map的高,但你的數(shù)據(jù)才2000多,兩者在這里數(shù)量級上的效率差異應(yīng)該很小。主要的問題應(yīng)該在于你的map,你的map的value不是一個指針

             

            ,而是一個大結(jié)構(gòu)體,這會導(dǎo)致搜索時的內(nèi)存頻繁被交換出去,因而導(dǎo)致效率低下。

             

            2.按照大牛的建議,修改,測試,消耗的時間由原來的20s+變成了0

            posted on 2012-07-21 22:14 多彩人生 閱讀(4751) 評論(1)  編輯 收藏 引用

            評論

            # re: std::map查詢效率優(yōu)化 2014-05-05 10:09 coderchen

            good  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品视频91| 精品久久久久久中文字幕大豆网 | 久久九九久精品国产免费直播| 久久综合综合久久97色| 久久99精品久久久久久水蜜桃| 99久久婷婷国产一区二区| 青青热久久国产久精品 | 久久久久免费看成人影片| 久久精品国产99国产电影网| 国产午夜精品久久久久九九| 国产精品99久久久久久宅男小说| 久久99精品久久久久久久不卡 | 天天爽天天爽天天片a久久网| 国产精品成人99久久久久 | 久久精品aⅴ无码中文字字幕不卡| 精品久久久久久亚洲精品 | 中文成人无码精品久久久不卡| 亚洲中文久久精品无码ww16 | 中文成人无码精品久久久不卡| 成人国内精品久久久久影院| 亚洲精品国产自在久久| 99久久无码一区人妻| 国内精品久久久人妻中文字幕| 久久久久99这里有精品10| 国内精品久久久久影院网站| 久久ZYZ资源站无码中文动漫| 色婷婷噜噜久久国产精品12p| 久久99国产精品99久久| 亚洲狠狠婷婷综合久久久久| 久久这里有精品| 久久久99精品成人片中文字幕| 99久久精品午夜一区二区| 无码日韩人妻精品久久蜜桃| 青青草原综合久久大伊人导航| 狠狠人妻久久久久久综合蜜桃| 久久青草国产手机看片福利盒子| 久久久久亚洲av无码专区喷水 | AAA级久久久精品无码片| 久久发布国产伦子伦精品| 久久久久成人精品无码中文字幕| 亚洲精品乱码久久久久久蜜桃不卡 |