各位高手留意!有什么办法加快读取大于200M的文件?(200分)

  • 主题发起人 主题发起人 wenjinshan
  • 开始时间 开始时间
W

wenjinshan

Unregistered / Unconfirmed
GUEST, unregistred user!

现有20多个10M左右的文件,程序中要频繁地随机读取这些文件,每次读写50字节左右。用FileRead、FileSeek的速度有点慢,又不能全部读进内存(内存容不下),请问有什么办法加快速度、建立缓冲或映象等?
 
放在内存中有问题吗?
 
利用内存映射技术!!!
部分涵数: FILEOPEN(),
CREATEFILEMAPPING()
MAPVIEWOFFILE()
UNMAPVIEWOFFILE()
CLOSEHANDLE()
 
[:(], 楼上的抢了。
 
不好意思,我的帐号没有被激活,所以没有及时收到邮件。

我的内存只有64M,用内存映射技术岂不一样加重硬盘负担?
 
看看SetTextBuf函数,相信你会有收获!
点到即止。
 
settextbuf也不行,它用于加快读写几个字节的情况,而且文件大了也没有效果。
 
直接用createfile
 
createfile太慢了,与openfile有什么差别?
 
createfile不慢!
 
我的意思是:我先用createfile时觉得慢,才想知道更快的方法。如直接存取硬盘原有的缓冲等
 
可以考虑用共享内存,一次全部读到共享内存里
 
我想要达到你的要求最好的办法是用7200转的硬盘或者用SCSI10000转硬盘。[:)]
 
用线程来创建文件流,读到时候,通过position控制指针位置,把你要的那一小段拷贝到
内存流中,读取内存流的memory属性即可.这样速度也许会快一些,你试一试.
 
想法跟yfdciom 类似,不过进来了,还是要写几个字的:)
 
用多线程
 

Similar threads

后退
顶部