问题描述
- 考研导师给的题目,希望好心人帮忙
-
给1亿个IP,放在一个文本文件 文本文件1.5G 统计每个IP出现的次数,要求:在4G内存以下的机器 5分钟运行出结果
解决方案
总的思路是bitmap
考虑到ip地址的稀疏性,可以使用页表
解决方案二:
个人认为首先考虑内存映射机制,4G 内存的机器,你可用的内存肯定是大于 1.5G的。
使用内存映射文件来提高你程序的性能
然后,再考虑查找/分析的算法。
解决方案三:
采用内存映射吧,我的导师也问了这个问题~
其实用Java的NIO包中的通道、缓冲区、选择器,采用多线程,速度也会快很多~之前还想着搭建Hadoop平台,采用并行处理。
时间: 2024-09-11 10:22:24