小编Ros*_*rma的帖子

需要字符串和整数之间的快速映射

我有一个字符串和无符号的映射,其中我将一个单词存储到以下形式的频率:

map<string,unsigned> mapWordFrequency; //contains 1 billion such mappings
Run Code Online (Sandbox Code Playgroud)

然后我读了一个巨大的文件(100GB),只保留文件中频率大于1000的单词.我使用mapWordFrequency [word]> 1000检查文件中单词的频率.然而,结果是我的mapWordFrequency有10亿个映射而且我的文件很大,因此尝试检查mapWordFrequency [word]> 1000,文件中的每个单词都非常慢,需要2天以上.有人可以建议我如何提高上述代码的效率.

地图不适合我的RAM并且交换耗费了大量时间.

擦除频率<1000的所有单词是否有助于使用地图的擦除功能?

c++ dictionary

5
推荐指数
1
解决办法
653
查看次数

标签 统计

c++ ×1

dictionary ×1