mmap到底适合处理多少数据

月光xia漫步 2012-12-10 01:45:46
在对文件处理的时候,有人推荐是使用mmap,把文件映射到内存中,然后把I/O操作转换成对内存的操作。但是,在使用过程中,我发现,如果文件内容比较少的话,可以提高一些读取速度,但是,倘若文件比较大的话,那么对于文件的读写操作还是没有I/O操作快。
下面的是我的一个小例子:



我就想不通,为什么文件大的时候,最后的一个将近有两个G的时候,会出现访问内存的速度比访问硬盘的速度快呢?是不是自己的机器内存太小限制了mmap函数的使用?
谢谢!
...全文
376 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangxuefeng09 2013-11-09
  • 打赏
  • 举报
回复
赵4老师 2013-11-09
  • 打赏
  • 举报
回复
月光xia漫步 2013-11-09
  • 打赏
  • 举报
回复
好久没有结的帖子,虽然现在已经不用这个函数了,不过依旧要谢谢你以前的回答,谢谢!
引用 1 楼 zhao4zhong1 的回复:
偶只用_lseeki64
月光xia漫步 2012-12-11
  • 打赏
  • 举报
回复
奥,这个函数我还真没使用过,待会儿我尝试一下,谢谢啊! 刚才我在搜索你给的这个函数的时候,发现有人的确使用内存共享机制处理了4G的文件,我就想弄清楚,我的使用mmap的方法,为什么就会出现瓶颈了呢??是函数本身?还是我操作问题,亦或者是内存太小造成的? 谢谢!
引用 1 楼 zhao4zhong1 的回复:
偶只用_lseeki64
赵4老师 2012-12-10
  • 打赏
  • 举报
回复
偶只用_lseeki64

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧