ets和dets的效率建议
来源:互联网 发布:中国经济现状2017知乎 编辑:程序博客网 时间:2024/04/30 17:37
转载:http://www.blogjava.net/killme2008/archive/2007/09/27/148764.html
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来实现字符串或无类型的大数据块.
- ets和dets的效率建议
- ets和dets的效率建议
- Erlang大量数据的存储机制:ETS和DETS
- erlang学习笔记:ets和dets
- Erlang:ETS、Dets表
- erlang dets ets 压测
- erlang——ETS和DETS表学习笔记
- erlang内置大数据量数据库 ets,dets 初窥
- erlang内置大数据量数据库 ets,dets 初窥 .
- erlang中list和ets的查找
- 提高 Vim 和 Shell 效率的 9 个建议
- 提高 Vim 和 Shell 效率的 9 个建议
- 提高 Vim 和 Shell 效率的 9 个建议
- ETS的配置
- erlang ets表的使用
- 提高面试效率的几点建议
- 加快Matlab程序编程效率的建议
- 加快Matlab程序编程效率的建议
- 将多个背景集成到一个png图片上CSS定位 CSS Sprites 技术
- 大家好哦
- 哈弗成功金句25则
- C#命令行编译器csc.exe
- SKB_BUFF整理笔记
- ets和dets的效率建议
- Adobe雇员的呐喊:移动端Flash为何死去?
- 在 Eclipse 中配置编译 Pro*C
- 获取桌面路径API
- linux 代码阅读技巧
- 数组排序
- 墨菲定律
- 高精度运算——大数阶乘、排列、组合
- 2.3.5 数据库的启动验证