最近的业务需要用到过滤器,搜索了一下发现我们的场景下布谷鸟过滤器性价比更高。
为了确定最终的技术选型,我去读了一下原论文,后来确定要用布谷鸟过滤器时发现几乎没有 golang 的全面实现,当前在 GitHub 上的几个高 stars 实现都存在一些缺陷,并没有最大化空间利用率,因此自己参照原论文以及论文的原 C++实现,移植并优化了一版 Golang 的库,具体内容写在博客的文章里面,如果有兴趣可以看一看,文章地址
代码地址在这,欢迎 star 、使用、贡献、debug: https://github.com/linvon/cuckoo-filter
此外我还简单翻译了原论文,如果有需要的也可以参阅:地址
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.