⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bloomfilter.h

📁 概述:数据的纵向收集
💻 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 + -