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

被折叠的 条评论
为什么被折叠?



