edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2357回复:12

如何实现高效率的文件操作?

楼主#
更多 发布于:2003-03-10 11:39
显然用fopen和fread来实现文件操作,效率太低,用内存映射文件也不是很理想,不知道其他还有什么好的方法呢?自己写文件驱动能实现高效这种想法吗?
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-11 15:22
没人回答,只好自己来顶一下了
那能不能绕过文件系统,直接对磁盘操作呢?这样应该能快一点吧?或者用fast I/O来实现,不知道行不行?唉,继续查资料 :D
Coolice
驱动小牛
驱动小牛
  • 注册日期2002-11-13
  • 最后登录2003-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-11 15:44
如果是Windows 2000/XP,正常的有cache的读写不管用fopen、CreateFile 还是FileMapping其它函数,效率都是一样的,因为操作系统会帮你缓存文件内容。这种方式比nocache的速度快些,因为读过的数据可能已经到了缓存了。

fast I/O只是节省了函数调用的时间,这是从NT上沿袭下来的,其有效性一直有争议,有些个别权威人士认为fast I/O反而使整个系统的效率变差。不管怎样fast I/O由于现今CPU的速度很快,所省略的时间大概也可以忽略不计了,另外fast I/O的读写必须针对已经被缓存的文件。

一般的来说,如果是顺序读写文件,CreateFile中有两个标志会影响到文件的读写效率 FILE_FLAG_RANDOM_ACCESS FILE_FLAG_SEQUENTIAL_SCAN
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-12 17:27
同意
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-12 17:32
to coolice:近来是不是较闲呀!!!,我快头疼死了。
Coolice
驱动小牛
驱动小牛
  • 注册日期2002-11-13
  • 最后登录2003-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-12 17:59
呵,是不是我回答得太罗嗦了~
你最近做什么呢?
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-03-13 00:33
在做IFS FITLTER开发,现在人在北京,你呢???

有QQ呀MSN吗??,想跟你聊一聊。
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-03-13 00:35
如果你觉得我不错的话,发个密语给我。

我发给你N个了,没有一个你回呀!!!
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-03-13 00:37
也就是说发个密语告诉我你的QQ或MSN,如果这两上都不能用,能告诉你MAIL吗?,你以前的写了N封,好像没有反应。
Coolice
驱动小牛
驱动小牛
  • 注册日期2002-11-13
  • 最后登录2003-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-03-13 09:55
密语如果收到我一般都回的。
我的免费邮箱是HOTMAIL的,前段时间一直无法登录,现在好象可以了,但是也慢得要命,所以基本两天才收一次信:(

做IFS FILTER简直就是忘苦海里跳,我完全理解,呵。
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-03-13 10:26
两位老大,你们太那个了吧,居然在我的问题下面谈qq,很过分呢! :D :D :D
回答得很好,你把我能想到的几种方案都给否了,难道要实现高效率的文件操作,就没有好的方法了吗?
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-03-13 13:10
那就邪门的很,我是写了N个了,你收到了吗???


能不能给我写封信:vcmfc@sina.com


真的想跟你聊一聊。
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-03-13 13:11
有QQ或MSN吗??
游客

返回顶部