C++stdmapunordered-创新互联
C++ std map unordered_map hash_map 的查找性能测试代码、过程及结果
本文题目:C++stdmapunordered-创新互联
分享路径:http://scgulin.cn/article/psgeg.html
- 测试环境
- 测试结果
- 测试代码
- 测试过程记录
- 测试版本 RLEASE x64
- 测试版本 Debug x64
操作系统: Windows11专业版
硬件环境:Intel i5-12500 3GHz 、16GB
IDE:VS2019
Release模式下:
查找效率:unordered_map ≈ hash_map >map
std::map 的效率远小于 unordered_map 和 hash_map
Debug模式下:
- 查找效率:hash_map >unordered_map >map
- 随着容量的增加,hash_map, unordered_map的查找效率有所降低,但浮动不大毕竟是常量级别。map的效率直线下降。。。
详细数据见本文下方的 测试过程记录
测试代码#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include#include
测试过程记录
测试版本 RLEASE x64第一次测试
test begin...
begin test, size:10 times:10000000
exit time_const:377538 microseconds test map
exit time_const:185946 microseconds test unordered_map
exit time_const:231577 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100 times:1000000
exit time_const:680158 microseconds test map
exit time_const:174351 microseconds test unordered_map
exit time_const:219366 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000 times:100000
exit time_const:2456112 microseconds test map
exit time_const:193982 microseconds test unordered_map
exit time_const:216137 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000 times:10000
exit time_const:3935452 microseconds test map
exit time_const:262153 microseconds test unordered_map
exit time_const:246536 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100000 times:1000
exit time_const:3874978 microseconds test map
exit time_const:451669 microseconds test unordered_map
exit time_const:397784 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000000 times:100
exit time_const:5637420 microseconds test map
exit time_const:2033308 microseconds test unordered_map
exit time_const:1697859 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000000 times:10
exit time_const:5980635 microseconds test map
exit time_const:2049441 microseconds test unordered_map
exit time_const:2335847 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
test finished
第二次测试
test begin...
begin test, size:10 times:10000000
exit time_const:387035 microseconds test map
exit time_const:194017 microseconds test unordered_map
exit time_const:219453 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100 times:1000000
exit time_const:658199 microseconds test map
exit time_const:178675 microseconds test unordered_map
exit time_const:219622 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000 times:100000
exit time_const:2367859 microseconds test map
exit time_const:186760 microseconds test unordered_map
exit time_const:229742 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000 times:10000
exit time_const:3969829 microseconds test map
exit time_const:258913 microseconds test unordered_map
exit time_const:254943 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100000 times:1000
exit time_const:3835890 microseconds test map
exit time_const:523620 microseconds test unordered_map
exit time_const:403951 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000000 times:100
exit time_const:5635731 microseconds test map
exit time_const:2144435 microseconds test unordered_map
exit time_const:1756355 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000000 times:10
exit time_const:6138499 microseconds test map
exit time_const:2386299 microseconds test unordered_map
exit time_const:2600038 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
test finished
第三次测试
test begin...
begin test, size:10 times:10000000
exit time_const:383793 microseconds test map
exit time_const:179461 microseconds test unordered_map
exit time_const:246965 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100 times:1000000
exit time_const:696714 microseconds test map
exit time_const:184956 microseconds test unordered_map
exit time_const:240162 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000 times:100000
exit time_const:2417398 microseconds test map
exit time_const:224808 microseconds test unordered_map
exit time_const:225643 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000 times:10000
exit time_const:4034813 microseconds test map
exit time_const:265107 microseconds test unordered_map
exit time_const:235180 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100000 times:1000
exit time_const:3983721 microseconds test map
exit time_const:593352 microseconds test unordered_map
exit time_const:478527 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000000 times:100
exit time_const:5755605 microseconds test map
exit time_const:2157740 microseconds test unordered_map
exit time_const:1781829 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000000 times:10
exit time_const:6350555 microseconds test map
exit time_const:2214270 microseconds test unordered_map
exit time_const:2407366 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
test finished
测试版本 Debug x64第一次测试
test begin...
begin test, size:10 times:10000000
exit time_const:77725513 microseconds test map
exit time_const:55867924 microseconds test unordered_map
exit time_const:50301682 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100 times:1000000
exit time_const:103791587 microseconds test map
exit time_const:57031541 microseconds test unordered_map
exit time_const:53823537 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000 times:100000
exit time_const:116249684 microseconds test map
exit time_const:55005075 microseconds test unordered_map
exit time_const:52733354 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000 times:10000
exit time_const:141760952 microseconds test map
exit time_const:60648988 microseconds test unordered_map
exit time_const:54216907 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:100000 times:1000
exit time_const:164759336 microseconds test map
exit time_const:75498544 microseconds test unordered_map
exit time_const:66905100 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:1000000 times:100
exit time_const:195118169 microseconds test map
exit time_const:76603801 microseconds test unordered_map
exit time_const:70866936 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
begin test, size:10000000 times:10
exit time_const:223320650 microseconds test map
exit time_const:77281447 microseconds test unordered_map
exit time_const:73711380 microseconds test hash_map
count_map:100000000 count_unordered_map:100000000 count_hash_map:100000000
test finished
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文题目:C++stdmapunordered-创新互联
分享路径:http://scgulin.cn/article/psgeg.html