博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CMap与hash_map效率对照
阅读量:4705 次
发布时间:2019-06-10

本文共 816 字,大约阅读时间需要 2 分钟。

CMap与hash_map底层均採用hash stable实现,CMap是MFC提供的模板类。hash_map尽管眼下并未纳入C++标准模板类库,但差点儿每一个版本号的STL都提供了对应的实现。CMap与hash_map的存储于查询效率比較例如以下:

利用rand函数随机生成99999个整数构成查询数据集,紧接着申请9999个整数作为查询。測试两个模板类的插入与查询总时间,測试结果显示:当查询都不存在时CMap时间大约16ms,hash_map为0ms;当大部分查询存在时CMap时间为624,而hash_map平均为5ms。当key为字符串时,hash_map比CMap快,速度为CMap的近11倍。由于全部的測试都是随机产生的,因此以上的时间均为平均时间。

參考代码:

#include "stdafx.h"#include "afxtempl.h"#include 
#include
#include
using namespace std;#define DATASET 99999#define QUERYNUM 9999int _tmain(int argc, _TCHAR* argv[]){ srand((unsigned int)time(NULL)); CMap
cmap; hash_map
hmap; int tempnum[DATASET]; int query[QUERYNUM]; int exsit = 0; int j = 0; for (int i=0; i

转载于:https://www.cnblogs.com/mengfanrong/p/4083932.html

你可能感兴趣的文章
MySQL对于有大量重复数据表的处理方法
查看>>
Android应用开发学习笔记之多线程与Handler消息处理机制
查看>>
ubuntu 设置环境变量
查看>>
JSTL详解(一)
查看>>
Manacher 算法
查看>>
Linux磁盘及文件系统(三)Linux文件系统
查看>>
SDWebImage源码阅读(二)NSData+ImageContentType
查看>>
Swift学习:构造过程
查看>>
数组和矩阵(1)——Find the Duplicate Number
查看>>
使用openssl的一些问题
查看>>
POJ 1321 棋盘问题
查看>>
Linux:find命令中
查看>>
别在最好的年纪辜负最好的自己
查看>>
年终总结
查看>>
==和equals区别
查看>>
5 - JSP、equals问题 及 session调用
查看>>
c#控制台程序
查看>>
cassandra查询效率探讨
查看>>
爬虫相关
查看>>
分享一张技能图。
查看>>