資源簡介
對于c++程序來說 map的使用無處不在。影響程序性能的瓶頸也往往是map的性能。尤其在大數(shù)據(jù)情況下,以及業(yè)務(wù)關(guān)聯(lián)緊密而無法實現(xiàn)數(shù)據(jù)分發(fā)和并行處理的情況。map的性能就成了最關(guān)鍵的技術(shù)。
比如:ip表、mac表,電話號碼表、身份證號碼表的查詢、等等。
stl庫的map采用二分查找,性能最差。Google的哈希map性能和內(nèi)存目前是最優(yōu)的。
我在電信行業(yè)和信息安全行業(yè)里的工作經(jīng)歷發(fā)現(xiàn),目前網(wǎng)絡(luò)上的哈希算法都在查詢速度上遠遠無法滿足日趨增長的網(wǎng)絡(luò)大數(shù)據(jù)要求。因此產(chǎn)生了自己寫算法的想法。
現(xiàn)在我把自己的算法初稿發(fā)布出來,用我在一家信息安全的公司打工時的應(yīng)用場景進行測試。就是病毒庫特征碼的
比如:ip表、mac表,電話號碼表、身份證號碼表的查詢、等等。
stl庫的map采用二分查找,性能最差。Google的哈希map性能和內(nèi)存目前是最優(yōu)的。
我在電信行業(yè)和信息安全行業(yè)里的工作經(jīng)歷發(fā)現(xiàn),目前網(wǎng)絡(luò)上的哈希算法都在查詢速度上遠遠無法滿足日趨增長的網(wǎng)絡(luò)大數(shù)據(jù)要求。因此產(chǎn)生了自己寫算法的想法。
現(xiàn)在我把自己的算法初稿發(fā)布出來,用我在一家信息安全的公司打工時的應(yīng)用場景進行測試。就是病毒庫特征碼的
代碼片段和文件信息
#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調(diào)試
- 下一篇:c++ 三個數(shù)中取最大值
評論
共有 條評論