由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 为啥用mmap访问文件的效率高呢?
相关主题
一个关于空间分配的问题C++中调用script
问问跟Linux Kernel Programming 有关的问题关于用 Eclipse 开发C++ 程序
本着负责的态度最后说几句多线程的程序设计有什么好书推荐? (转载)
大家看过来Re: C++ Guys!!!!Linux下有办法通过C/C++得到已经调入内存的library的full path么
pthread and C++VC++线程问题
在C/C++里的文件复制操作c++逐渐没落?
Windows XP与Multithreading ProgrammingC++11 native thread问题
请教C++ thread librarybtw, MS C++ 是ECMA-372标准
相关话题的讨论汇总
话题: mmap话题: 文件话题: 磁盘话题: since话题: 效率高
进入Programming版参与讨论
1 (共1页)
C**********n
发帖数: 100
1
mmap把磁盘上的一个文件映射到内存,据说这样对文件操作就可以加速了。
不过我不明白的是虽然mmap把文件从磁盘映射到内存,但程序实际上还是要从磁盘读文
件的把。为啥mmap这么一搞就快了呢?
P*****f
发帖数: 2272
2
data from disk file directly goes to mmaped user-space area, no intermediate
kernel buffer needed

【在 C**********n 的大作中提到】
: mmap把磁盘上的一个文件映射到内存,据说这样对文件操作就可以加速了。
: 不过我不明白的是虽然mmap把文件从磁盘映射到内存,但程序实际上还是要从磁盘读文
: 件的把。为啥mmap这么一搞就快了呢?

w***g
发帖数: 5958
3
我觉得mmap并不一定总是能加速,要具体问题具体分析。我觉得大部分情况下即使能加
速,得到的那一点点提高也比不上FILE*和fstream的可移植性。

【在 C**********n 的大作中提到】
: mmap把磁盘上的一个文件映射到内存,据说这样对文件操作就可以加速了。
: 不过我不明白的是虽然mmap把文件从磁盘映射到内存,但程序实际上还是要从磁盘读文
: 件的把。为啥mmap这么一搞就快了呢?

t****t
发帖数: 6806
4
mmap is already in POSIX, so it's quite portable. but you are right since it
's not much faster -- how fast can it be...

【在 w***g 的大作中提到】
: 我觉得mmap并不一定总是能加速,要具体问题具体分析。我觉得大部分情况下即使能加
: 速,得到的那一点点提高也比不上FILE*和fstream的可移植性。

w***g
发帖数: 5958
5
Windows下没有。用标准C和C++库编出来的程序在windows下也能用的。

it

【在 t****t 的大作中提到】
: mmap is already in POSIX, so it's quite portable. but you are right since it
: 's not much faster -- how fast can it be...

c****e
发帖数: 1453
6
It's could handle very high throughput, especially for data burst. Since
after you write to memory, your are done, the kernel takes care of the rest.
E.g, my program can write a few G bytes in a few seconds.
1 (共1页)
进入Programming版参与讨论
相关主题
btw, MS C++ 是ECMA-372标准pthread and C++
interview with Ben Klemens, author of 21st Century C在C/C++里的文件复制操作
到底谁赢了????????????Windows XP与Multithreading Programming
从工程角度再比较一下春运火车票的2个方案请教C++ thread library
一个关于空间分配的问题C++中调用script
问问跟Linux Kernel Programming 有关的问题关于用 Eclipse 开发C++ 程序
本着负责的态度最后说几句多线程的程序设计有什么好书推荐? (转载)
大家看过来Re: C++ Guys!!!!Linux下有办法通过C/C++得到已经调入内存的library的full path么
相关话题的讨论汇总
话题: mmap话题: 文件话题: 磁盘话题: since话题: 效率高