一些数据结构的内存和时间比较

本文对比分析了多种数据结构在千万级别词汇量下的性能表现,包括内存消耗与查询时间等关键指标,旨在寻找最适合大规模词汇存储与检索的技术方案。

用途是为了key-value做字符串查找,最少百万级别的词,主要关心的是:内存消耗和查询时间,但插入时间也在考虑范围之内。

 

vs2005

 

1.google's sparsehash

2.judy array

3.redblack tree

4.stl map

5.stl hash_map

6.trie

7.double array trie

 

 

google的sparsehash有两个实现,一个空间优先-sparse,另一个是时间优先-dense

 

//  quickshot:

 // 本机物理内存大小为2047.167969M, 可使用的物理内存大小为871.070313M,
 // 本进程总的内存空间大小为2047.875000M, 可使用大小为1174.546875M,
 // 最大页面为3894.011719M, 可使用的页面为2444.941406M,

 

 // 1. loop 1 
 //  total_word 1604936 average word length :8.964365
 // cost memory:94876K


 // 2. loop 2 
 //  total_word 8024680 average word length :15.825903
//  cost memory:790828K

 

 // 3.loop 8
 // total_word 12839488 average word length :16.098979
 // cost memory:1523100K

 

 

// map

 total_word 12839488 average word length :16.098979  1464352K

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值