请问一个大文件读写提速的有关问题
请教一个大文件读写提速的问题
我有一个大约3G以上的文件,需要将它读出来写到硬盘的扇区中,有什么方法可以提高这个操作的过程吗?
我用正常的文件操作函数,和将这个大文件进行内存映射在速度上没有什么区别,可能对于硬盘操作来说,读取速度相差不大吧。
不知道还有没有什么其他的方法可以试一下。
------解决方案--------------------
你可以在磁盘上分一个区,用你自定义的格式,不用Windows的NTFS,NTFS里面容错和访问权限的功能你可能不需要。
------解决方案--------------------
关注
------解决方案--------------------
好像没什么特别的办法吧,毕竟软件操作要受限于硬件的读写速度啊。
------解决方案--------------------
老大出马了...!
老蒋多来点啊!
------
不知道有什么好的方法
老蒋冒个泡泡就闪人了?
------解决方案--------------------
读取部分应该没什么可以优化的,关键在写入部分提高
楼上的兄弟说的不错,目标硬盘可以不用文件系统,直接读写物理扇区,直接将文件内容写入0~3G的连续空间,我想没有比这个更快的速度了
如果需要文件系统的话,那只有以空间换时间了,开辟很大的缓存空间,进行读写
------解决方案--------------------
mark,学习了
------解决方案--------------------
mark
------解决方案--------------------
如果代码能完成这个速度服务器还有必要做raid0吗。
------解决方案--------------------
你可以在磁盘上分一个区,用你自定义的格式,不用Windows的NTFS,NTFS里面容错和访问权限的功能你可能不需要
太强了
------解决方案--------------------
好像sata的数据线可以支持到300M,
================================
没有那么夸张吧,理论上可以达到 一百多兆。
可实际根据硬盘和主板及相关配置,几十兆就很不错了。
------解决方案--------------------
强人有强方法,长见识了
------解决方案--------------------
楼上暴强~
我等只有
study
了
------解决方案--------------------
sata2的数据传输速率被吹嘘成300M/S。但是,硬盘的传输速率分两种,一种是内部传输速率,一种是外部传输速率。
被吹嘘成300M/s的是外部传输速率
内部传输速率才几十M而已。
瓶颈限制了,再快也没用,所以目前来说,用SATA和PATA的硬盘区别并不很大。
所以总结以上各位意见来看
1、如蒋兄所说,自定义分区,自定义格式,要实现起来基本不可能,试问你能写出比FAT32 NTFS更好的分区格式?
2、那只有组RAID。这个技术优化了内部传输速率,所以可以提高读写速度
其它的诸如通过改善读写地址之类的,即时实际可行,收效肯定是甚微。
我有一个大约3G以上的文件,需要将它读出来写到硬盘的扇区中,有什么方法可以提高这个操作的过程吗?
我用正常的文件操作函数,和将这个大文件进行内存映射在速度上没有什么区别,可能对于硬盘操作来说,读取速度相差不大吧。
不知道还有没有什么其他的方法可以试一下。
------解决方案--------------------
你可以在磁盘上分一个区,用你自定义的格式,不用Windows的NTFS,NTFS里面容错和访问权限的功能你可能不需要。
------解决方案--------------------
关注
------解决方案--------------------
好像没什么特别的办法吧,毕竟软件操作要受限于硬件的读写速度啊。
------解决方案--------------------
老大出马了...!
老蒋多来点啊!
------
不知道有什么好的方法
老蒋冒个泡泡就闪人了?
------解决方案--------------------
读取部分应该没什么可以优化的,关键在写入部分提高
楼上的兄弟说的不错,目标硬盘可以不用文件系统,直接读写物理扇区,直接将文件内容写入0~3G的连续空间,我想没有比这个更快的速度了
如果需要文件系统的话,那只有以空间换时间了,开辟很大的缓存空间,进行读写
------解决方案--------------------
mark,学习了
------解决方案--------------------
mark
------解决方案--------------------
如果代码能完成这个速度服务器还有必要做raid0吗。
------解决方案--------------------
你可以在磁盘上分一个区,用你自定义的格式,不用Windows的NTFS,NTFS里面容错和访问权限的功能你可能不需要
太强了
------解决方案--------------------
好像sata的数据线可以支持到300M,
================================
没有那么夸张吧,理论上可以达到 一百多兆。
可实际根据硬盘和主板及相关配置,几十兆就很不错了。
------解决方案--------------------
强人有强方法,长见识了
------解决方案--------------------
楼上暴强~
我等只有
study
了
------解决方案--------------------
sata2的数据传输速率被吹嘘成300M/S。但是,硬盘的传输速率分两种,一种是内部传输速率,一种是外部传输速率。
被吹嘘成300M/s的是外部传输速率
内部传输速率才几十M而已。
瓶颈限制了,再快也没用,所以目前来说,用SATA和PATA的硬盘区别并不很大。
所以总结以上各位意见来看
1、如蒋兄所说,自定义分区,自定义格式,要实现起来基本不可能,试问你能写出比FAT32 NTFS更好的分区格式?
2、那只有组RAID。这个技术优化了内部传输速率,所以可以提高读写速度
其它的诸如通过改善读写地址之类的,即时实际可行,收效肯定是甚微。