Chinaunix

标题: 文件读写效率? [打印本页]

作者: mikenoodle    时间: 2008-04-22 14:28
标题: 文件读写效率?
记得在哪看到过说open的读文件效率要比fopen的高?
另外,buf设多大是效率最高的啊?
高手指点一下,谢谢
作者: MMMIX    时间: 2008-04-22 19:53
原帖由 mikenoodle 于 2008-4-22 14:28 发表
记得在哪看到过说open的读文件效率要比fopen的高?
另外,buf设多大是效率最高的啊?

Don't worry about that, almost always, you just can't see the difference.
作者: NewCore    时间: 2008-04-22 19:59
你可以处理的方式是:用户缓存+异步方式

buf一般是块大小或者是块大小的整数倍
作者: swordfish.cn    时间: 2008-04-22 21:41
原帖由 mikenoodle 于 2008-4-22 14:28 发表
记得在哪看到过说open的读文件效率要比fopen的高?
另外,buf设多大是效率最高的啊?
高手指点一下,谢谢


这个不能一概而论的。open 要求程序员自己设置 buffer,而 fopen 使用的是 libc 内部的 buffer。假如设置合理的话,两者的差别是不大的。
系统中有一个常量 BUFSIZ,你可以参考一下。
作者: scutan    时间: 2008-04-22 21:47
you can test if by yourself.
缓存大小用4096字节也许是个不错的选择。

[ 本帖最后由 scutan 于 2008-4-23 00:11 编辑 ]
作者: MMMIX    时间: 2008-04-23 19:35
标题: 回复 #1 mikenoodle 的帖子
If you do worry about these, please profiling your program first.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2