mmap与fileinpu的优势

2024-09-28 05:21:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我读到mmap比fileinput更有优势,因为它会将一个页面读入内核pagecache并在用户地址空间中共享该页面。而实际上,用户将复制到一个文件空间。因此,fileinput有额外的空间开销。在

所以,我计划转移到mmap,但是我想从高级python黑客那里知道它是否提高了性能?在

如果是这样,是否有类似的fileinput实现使用mmap?在

请给我指出任何开源代码,如果你知道。在

谢谢你


Tags: 文件用户源代码地址空间页面性能内核
1条回答
网友
1楼 · 发布于 2024-09-28 05:21:10

mmap接受一个文件并将其粘贴到RAM中,这样您就可以像一个字节数组或一个大数据结构那样索引它。在

如果您以一种“随机访问”的方式访问您的文件,而这种方式需要进行大量的fseek()、fread()、fwrite()组合,则速度会更快。在

但是,如果您只是读入文件并处理每一行(比如说),那么它不太可能快得多。事实上,对于任何合理的文件大小(记住,对于mmap来说,它必须完全适合RAM,或者发生分页,从而开始降低mmap的效率),这可能是无法区分的。在

相关问题 更多 >

    热门问题