您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么Python的mmap无法处理大文件?

为什么Python的mmap无法处理大文件?

从IEEE 1003.1:

mmap()函数应在进程的地址空间与文件,共享内存对象或[TYM]类型的内存对象之间建立映射。

它需要所有的虚拟地址空间,因为这正是这样mmap() 做的

这是不是事实 真正 的内存不多了并不重要-你不能映射比你有更多的可用地址空间。由于您然后将结果当作存储器一样 进行 访问和访问,因此您建议如何精确地将2 ^ 32多个字节访问到文件中?即使mmap()没有失败,您仍然只能读取前4GB,然后再用尽32位地址空间中的空间。当然,您可以mmap()文件上滑动32位窗口,但这并不一定会为您带来任何好处,除非您可以优化访问方式以限制访问前一个窗口的次数

python 2022/1/1 18:43:36 有294人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶