<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    ets和dets的效率建議

    Posted on 2007-09-27 16:33 dennis 閱讀(2190) 評論(2)  編輯  收藏 所屬分類: erlang
       ets表的底層是由哈希表實現的,不過ordered_set例外,它是由平衡二叉樹實現的。 所以不管是插入還是查找,set的效率要比ordered_set高.采用set還是ordered_set取決于你的需求,當你需要一個有序的集合時,顯然應當采用ordered_set模式。

    duplicate_bag要比bag的效率要高, 因為bag要和原來的記錄比較是否有相同的記錄已經插入. 如果數據量很大,相同的記錄越多,bag的效率就越差.

    一張ets表是由創建它的進程所擁有, 當此進程調用ets:delete或者進程終止的時候, ets表就會被刪除.

    一般情況下, 插入一個元組到一張ets表中, 所有代表這個元組的結構都會被從process的堆棧中,復制到ets表中; 當查找一條記錄時, 結果tuple從ets表中復制到進程的堆棧中。

    但是large binaries卻不是這樣! 它們被存入自已所擁有的off-heap area中。這個區域可以被多個process,ets表,和binaries所共享。它由引用計數的垃圾回收策略管理, 這個策略會跟蹤到底有多少個process/ets表/binaries引用了這個large binaries. 如果引用數為0的話, 此大型二進制數據就會被垃圾回收掉.

    看起來很復雜, 實際結論就是: 兩進程間發送包含大型binary數據的消息其實費用很低, 往ets表插入binary類型元組也很劃算。我們應該盡可能采用binaries來實現字符串或無類型的大數據塊.

    評論

    # re: ets和dets的效率建議  回復  更多評論   

    2007-09-28 16:26 by 千里冰封
    ETS是什么?

    # re: ets和dets的效率建議  回復  更多評論   

    2008-10-15 14:36 by z_axis
    ETS = Erlang Term Storage
    主站蜘蛛池模板: 免费人成大片在线观看播放电影| 国产午夜亚洲精品理论片不卡| 69式互添免费视频| 99久久人妻精品免费一区| 日本免费人成网ww555在线| 99精品全国免费观看视频..| 国产免费久久精品丫丫| AAA日本高清在线播放免费观看| 国产在线精品观看免费观看| 成人精品视频99在线观看免费| 两性色午夜视频免费网| 黄网站免费在线观看| 精品熟女少妇a∨免费久久| 黄+色+性+人免费| 成人超污免费网站在线看| 香蕉视频在线观看免费国产婷婷| 国产免费av片在线播放| 亚洲精品麻豆av| 337p日本欧洲亚洲大胆裸体艺术| 亚洲成A人片777777| 亚洲成人一级电影| 亚洲中文字幕乱码熟女在线| 亚洲av日韩av永久在线观看 | 四虎亚洲国产成人久久精品| 亚洲一区无码精品色| 狠狠色伊人亚洲综合成人| 亚洲视频在线一区二区三区| 亚洲大成色www永久网址| 精品无码专区亚洲| 99久久成人国产精品免费| 99在线观看视频免费| 久久精品网站免费观看| 免费**毛片在线播放直播| 亚洲精品中文字幕乱码三区| 久久久亚洲欧洲日产国码是AV| 国产亚洲中文日本不卡二区| 免费一级特黄特色大片| 毛片无码免费无码播放 | 久久不见久久见免费影院www日本| 国产精品偷伦视频观看免费| 青苹果乐园免费高清在线|