2024-09-28 05:21:10 发布
网友
我读到mmap比fileinput更有优势,因为它会将一个页面读入内核pagecache并在用户地址空间中共享该页面。而实际上,用户将复制到一个文件空间。因此,fileinput有额外的空间开销。在
所以,我计划转移到mmap,但是我想从高级python黑客那里知道它是否提高了性能?在
如果是这样,是否有类似的fileinput实现使用mmap?在
请给我指出任何开源代码,如果你知道。在
谢谢你
mmap接受一个文件并将其粘贴到RAM中,这样您就可以像一个字节数组或一个大数据结构那样索引它。在
如果您以一种“随机访问”的方式访问您的文件,而这种方式需要进行大量的fseek()、fread()、fwrite()组合,则速度会更快。在
但是,如果您只是读入文件并处理每一行(比如说),那么它不太可能快得多。事实上,对于任何合理的文件大小(记住,对于mmap来说,它必须完全适合RAM,或者发生分页,从而开始降低mmap的效率),这可能是无法区分的。在
mmap接受一个文件并将其粘贴到RAM中,这样您就可以像一个字节数组或一个大数据结构那样索引它。在
如果您以一种“随机访问”的方式访问您的文件,而这种方式需要进行大量的fseek()、fread()、fwrite()组合,则速度会更快。在
但是,如果您只是读入文件并处理每一行(比如说),那么它不太可能快得多。事实上,对于任何合理的文件大小(记住,对于mmap来说,它必须完全适合RAM,或者发生分页,从而开始降低mmap的效率),这可能是无法区分的。在
相关问题 更多 >
编程相关推荐