direct io和预读有时候还是可以优化性能的。
不过确实没有必要啥都mmap
【 在 ilovecpp 的大作中提到: 】
: fread/read的意图(读多少字节)是明确写在参数里的。
: mmap则是隐含的。io效率取决于内核的read ahead是否符合你的访问模式。你不用madvise去调整的话,默认策略是为mmap的主要访问场景--映射可执行文件--优化的。
: 比起fread/read,mmap用起来更需要技巧,最好只用在少数适用的场合。看见“我要io快”就条件反射念出“mmap”,“direct io”,“aio”之类的,说滥用也不冤。
--
FROM 123.115.140.*