std::hash_map<std: tring, int, String_hash> m_AppCache;
std::hash_map<std: tring, int, String_hash>::iterator aiter;
char chrApp[32];
strcpy(chrApp, strApplication.c_str());
aiter = m_AppCache.find(chrApp);
if (aiter != m_AppCache.end())
nID = (*aiter).second;//注释了这行效率会有几倍的提高,why?如果把nID = (*aiter).second;注释,会带来比较大的性能提升,目前原因正在查找中,希望有知道的能知一声。多谢。
下面是同一台机器的测试结果。
cpu:dual 2.0G
内存:1G
注释前:
第一次 3‘8“
第二次 7’2”
第三次 6‘17“
注释后:
第一次 2’37”
第二次 2‘32“