mmap 可以替代 read / write 吗

2023-02-10 16:31:13 +08:00
 daytonight

mmap 既然能直接修改内核缓冲区的数据,那还要 read / write 做什么呢?毕竟多一次拷贝

1044 次点击
所在节点    程序员
2 条回复
iBugOne
2023-02-10 16:39:30 +08:00
这个问题 Google 一下「 mmap vs read 」就好了
https://stackoverflow.com/a/5589622/5958455

另外还有一篇 CIDR '22 的论文讲 mmap 的坑
https://www.pdl.cmu.edu/PDL-FTP/Database/p13-crotty.pdf
GrayXu
2023-02-10 22:45:00 +08:00
普通场景下只论性能 mmap 确实会快些。但就像#1 里提的 andy 那篇工作说的一样,如果盘的存储速度快的话,page table 上的压力大了之后,会有额外的性能下滑。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX