XOR_singleheader: Header-only binary fuse and XOR filter library
10 months ago
- #data-structures
- #filtering
- #performance
- 布隆过滤器用于快速检查集合成员关系,但异或过滤器和二进制保险丝过滤器是更快速、更简洁的替代方案。
- 二进制保险丝过滤器和异或过滤器天然具有可压缩性,且比布谷鸟过滤器更小巧。
- 该库仅需头文件即可使用,同时实现了二进制保险丝和异或过滤器,并在Apache许可证下开源。
- 基本用法包括通过`binary_fuse8_allocate`、`binary_fuse8_populate`和`binary_fuse8_contain`等函数分配、填充和查询过滤器。
- 提供8位和16位版本,其中16位版本以更多内存为代价提供更低的误报概率。
- 序列化选项包含解包(更快)和打包(更小但更慢)两种格式。
- 构建二进制保险丝过滤器需要临时内存(约每个条目24字节),但也可以通过较慢的速度使用最小临时内存完成。
- 该库包含测试和基准测试工具,用于评估性能和正确性。
- 欢迎提交错误报告和修复,但本项目不追求在所有静态分析工具下完全无警告。