近期,接到一个项目,由于需要在程序运行中解析一部分数据,且该部分数据需要向后提供。
所以前同事在设计时使用了stdext::hash~map。
近期在优化该程序,需要将处理能力提高100%,我从IO,队列锁等方面改了一大通,现在效率才提高50%。
所以想问下经验较多的人,map和hash~map效率到底差距有多少(结合我的使用场景)。
1、每个map(hash~map)最多只有100个数据,键值为string
std::map
键值长度4~30个字符不等,且会存在汉语(会影响效率吗)
2、每个处理逻辑map均会重新构建,
两者插入效率是否差异较大。
3、查询效率,该部分自己已经写代码测试过。两者效率(vs2008+STLport)差异不大,查询10万次hash~map约少个1毫秒。(GetTicketCount());
由于现在想知道,但是手头没有电脑,没法测试,想问下大家具体的经验。最好是自己做过实验的。