您的位置:首页 > Web前端 > Node.js

比较测试map、unodered_map、unordered_set性能效率,整型数值查找

2014-07-12 11:41 2341 查看
测试环境:

centos 6.5

gcc 4.4.3

使用boost库生成均匀分布的随机正整形数字。

1、分别创建三个数据集对象

typedef unsigned
int UINT32;
std::unordered_map<UINT32,UINT32> test_map1;
std::map<UINT32,UINT32> test_map2;
std::unordered_set<UINT32> test_set2;

2、创建1000 000个0~999999之间的随机数字
每次测试分别将完全相同的随即数字组,分别放入三个容器。

3、仅测试查找的时间。一样是查找1000 000次。用find函数。

结果如下。r后面的数字表示,随即查找命中的次数。
后三个数字分别是对应的查找时间,单位是ms。
 r:95092

test_map1:146ms

test_set2:  153 

test_map2:279 

 r:95213

134

137 

276 

r:95222

150 

139 

287 

r:95227

134 

136 

280 

 r:95205

133

132 

273 

结果来说:
unodered_map、unordered_set不相上下

但是map性能略微差一些。
之前我做过样本数据小一点的测试,大约10000个数字,依然是map性能差一些。
根据本次测试,
我会优先选用unodered_map、unordered_set做测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: