📄 bloomfilter.h
字号:
//sunwangme@hotmail.com
#pragma once
#include "RWLock.h"
#define _BITMAP_LENGTH_ (1024*128*8)
#define _BITMAP_COUNT_ (12)
class CBloomFilter
{
public:
static CBloomFilter* Instance();
~CBloomFilter();
static void Release();
protected:
CBloomFilter();
CBloomFilter(const CBloomFilter&);
CBloomFilter& operator=(const CBloomFilter&);
public:
bool find(LPCSTR lpszUrl);
void insert(LPCSTR lpszUrl);
void clear();
protected:
bool DoCheckBitmap(BYTE* bitmap,int length,int offset);
void DoSetBitmap(BYTE* bitmap,int length,int offset);
private:
BYTE* m_BitMap[_BITMAP_COUNT_];
CRWLock m_lock;
static CBloomFilter* s_pBloom;
};
//2007.3.21,sunwang
//count = 8 100w个url,冲突为3726
//count = 12 100w个url,冲突为320
//count =12 50w个url,冲突为0 [ok]
//count =8 50w个url,冲突为24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -