# 布谷鸟过滤器测试 **Repository Path**: xianshianwentyl/cuckoo-filter-test ## Basic Information - **Project Name**: 布谷鸟过滤器测试 - **Description**: 测试布谷鸟过滤器通信开销 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-23 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README ## 布谷鸟过滤器实验记录 ### 实验环境 VSCode+python3.8+Anaconda4.10.3 ![无法显示](TITS实验环境.png "optional title") *** ### 实验过程 #### 实验1 **实验目的:** 测试不同消息数,不同bucket_num时通信开销变化采用布谷鸟过滤器时,消息数从300-700,桶数量从200-500 #### 实验2 **实验目的:** 当bucket_num=300,消息数从300-1000,布谷鸟过滤器和不使用时开销对比 #### 实验3 **实验目的:** 消息数量message_num从300取到1000,bucket_num=300、500、700,画三条曲线看效果 *** ### 实验存在的问题 #### 问题1 - 由于产生指定位数的消息,那么即便生成的消息个数很多,最后唯一的消息个数是固定的。因此对于布谷鸟过滤器而言,增大布谷鸟过滤器中bucket_num并不能减少通信开销,因为过滤了重复的消息后,剩下的唯一的消息个数基本差不多。 - **解决方案** #### 问题2 - 是否需要衡量在使用布谷鸟过滤器中重复次数过多导致的踢来踢去的情况的开销? - 目前原始的cuckoopy库插入踢来踢去导致死循环的情况最多为500次,当某个消息重复了bucket_size*2次后就会陷入死循坏。由于代码在插入元素之前判断了是否存在重复元素,就避免了重复元素插入的问题。。。。。。这个地方挺矛盾的! - **解决方案**