<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
    主站蜘蛛池模板: 中文毛片无遮挡高清免费| 亚洲av永久无码精品秋霞电影秋 | 色视频在线观看免费| 免费无码A片一区二三区| 亚洲女人影院想要爱| 亚洲成人免费在线| 亚洲熟女少妇一区二区| 99精品全国免费观看视频..| 中文亚洲AV片不卡在线观看| 久久成人永久免费播放| 国产亚洲精品资源在线26u| 中文字幕免费在线看| 久久精品国产96精品亚洲| 免费无码中文字幕A级毛片| 亚洲国产精品久久久久婷婷软件| 91精品啪在线观看国产线免费| 亚洲视频在线免费播放| 国产精品视频免费观看| 亚洲va久久久久| 亚洲国产成人久久一区久久| 伊人久久国产免费观看视频| 国产L精品国产亚洲区久久| jizz在线免费播放| 亚洲午夜免费视频| a毛片基地免费全部视频| 亚洲另类无码专区首页| 亚洲精品99久久久久中文字幕| 国产免费福利体检区久久| 亚洲高清在线视频| a毛片基地免费全部视频| 无码天堂va亚洲va在线va| 亚洲无线码一区二区三区| 亚洲午夜免费视频| 亚洲色最新高清av网站| 久久激情亚洲精品无码?V| 88xx成人永久免费观看| 中文字幕在线日亚洲9| 国产午夜亚洲不卡| 国产免费不卡视频| 美女羞羞视频免费网站| 亚洲Av熟妇高潮30p|