資源簡介
對于c++程序來說 map的使用無處不在。影響程序性能的瓶頸也往往是map的性能。尤其在大數據情況下,以及業務關聯緊密而無法實現數據分發和并行處理的情況。map的性能就成了最關鍵的技術。
比如:ip表、mac表,電話號碼表、身份證號碼表的查詢、等等。
stl庫的map采用二分查找,性能最差。Google的哈希map性能和內存目前是最優的。
我在電信行業和信息安全行業里的工作經歷發現,目前網絡上的哈希算法都在查詢速度上遠遠無法滿足日趨增長的網絡大數據要求。因此產生了自己寫算法的想法。
現在我把自己的算法初稿發布出來,用我在一家信息安全的公司打工時的應用場景進行測試。就是病毒庫特征碼的
比如:ip表、mac表,電話號碼表、身份證號碼表的查詢、等等。
stl庫的map采用二分查找,性能最差。Google的哈希map性能和內存目前是最優的。
我在電信行業和信息安全行業里的工作經歷發現,目前網絡上的哈希算法都在查詢速度上遠遠無法滿足日趨增長的網絡大數據要求。因此產生了自己寫算法的想法。
現在我把自己的算法初稿發布出來,用我在一家信息安全的公司打工時的應用場景進行測試。就是病毒庫特征碼的
代碼片段和文件信息
#include???
#include?“HiResTimer.h“
//***********************************************
CHiResTimer::CHiResTimer()?:?m_qwStart(0)?m_qwStop(0)
{
m_bTimerInstalled?=?QueryPerformanceFrequency((LARGE_INTEGER*)&m_qwFreq)???true?:?false;
}
//***********************************************
void?CHiResTimer::Start(void)
{
QueryPerformanceCounter((LARGE_INTEGER*)&m_qwStart);
}
//***********************************************
void?CHiResTimer::Stop(void)
{
QueryPerformanceCounter((LARGE_INTEGER*)&m_qwStop);
}
//***********************************************
float?CHiResTimer::GetTime(void)?const
{
float?fTime?=?0.0;
if(m_bTimerInstalled?&&?m_qwFreq?!=?0)
fTime?=?(float)((m_qwStop?-?m_qwStart)?/?(float)m_qwFreq);
return?fTime;
}
//************
- 上一篇:opengl調試
- 下一篇:c++ 三個數中取最大值
評論
共有 條評論