1. 首页
  2. 数据库
  3. 其它
  4. cuckoo_filter:适用于Erlang和Elixir的高性能并发且可变的布谷鸟过滤器 源码

cuckoo_filter:适用于Erlang和Elixir的高性能并发且可变的布谷鸟过滤器 源码

上传者: 2021-05-04 05:43:17上传 ZIP文件 16.21KB 热度 5次
布谷鸟过滤器 使用Erlang和Elixir的实现的高性能,并发且可变的。 介绍 布谷鸟过滤器是一种节省空间的概率数据结构,用于近似的集合成员资格查询。 它可用于测试元素是否在固定时间内成为集合的成员,并且每个元素仅需要几个位。 需要权衡的是,误报率可能很低,但误报率却不高。 布谷鸟过滤器被认为是布隆过滤器的更好替代方案,具有较低的空间开销并支持删除插入的元素。 当负载系数高时,将元素插入布谷鸟过滤器会变慢,并且当容量接近满时可能会失败。 执行 在此实现中,过滤器数据存储在atomics数组中,该数组是64位整数的固定大小的可变数组。 通过使用原子,我们可以快速并发地访问过滤器以进行读取和写入。 为了能够自动更新指纹,此实现只允许使用4、8、16、32和64位的指纹大小,以便多个指纹可以容纳在单个64位原子整数中。 在每个元素的布谷鸟过滤器中,都有两个可插入它的桶。 要在两个存储
用户评论