• <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ù)是個(gè)xml文件,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的結(jié)構(gòu)體有10個(gè)成員變量,共有2000多條數(shù)據(jù),用的std::map<string, struct>來(lái)保存,用map的find函數(shù)進(jìn)行搜索時(shí)的效率極

             

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

             

            1.為什么這么慢?

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

            std::map是個(gè)自平衡的紅黑樹(shù),他的效率是平均的

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

             

            翻書(shū)時(shí)大牛就在旁邊,就問(wèn)了他,把情況和他一說(shuō)。他立刻點(diǎn)名:

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

             

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

             

            2.按照大牛的建議,修改,測(cè)試,消耗的時(shí)間由原來(lái)的20s+變成了0

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

            評(píng)論

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

            good  回復(fù)  更多評(píng)論   


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


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(3)

            隨筆分類(lèi)

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            人妻精品久久久久中文字幕69 | 精品久久一区二区三区| 亚洲午夜久久久久妓女影院 | 99久久精品日本一区二区免费 | 久久久91人妻无码精品蜜桃HD| 青青草原综合久久大伊人导航| 中文国产成人精品久久不卡| 久久精品麻豆日日躁夜夜躁| 99精品伊人久久久大香线蕉| 久久九九兔免费精品6| 国产成人精品白浆久久69| 久久一区二区免费播放| 久久99精品久久久久久hb无码 | 午夜天堂av天堂久久久| 国产99久久久国产精免费| 国产毛片欧美毛片久久久| 国产精品一区二区久久精品无码| 久久九九兔免费精品6| 久久国产成人| 久久综合九色综合欧美狠狠| 性做久久久久久久| 中文字幕无码久久精品青草| 国产亚洲精午夜久久久久久| 久久男人Av资源网站无码软件| 久久久WWW成人| 精品国产综合区久久久久久 | 青草久久久国产线免观| 国产精品99久久久久久宅男| 日韩av无码久久精品免费| 亚洲乱码日产精品a级毛片久久| 99热都是精品久久久久久| 久久综合久久综合久久综合| 国内精品久久国产大陆| 国内精品久久久久久99| 久久久精品人妻一区二区三区四 | 久久久久人妻一区二区三区| 亚洲日本va午夜中文字幕久久 | 伊人精品久久久久7777| 亚洲AⅤ优女AV综合久久久| 亚洲午夜久久久| 一本久久知道综合久久|