bloomfilter.h
来自「概述:数据的纵向收集」· C头文件 代码 · 共 40 行
H
40 行
//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 + =
减小字号Ctrl + -
显示快捷键?