FORTRAN 随机存储和读取文件中指定位置数据
求大神指点快速随机存储和读取文件中指定位置数据的方法?用了
OPEN(UNIT=IOFRM,ACCESS='DIRECT',STATUS='SCRATCH',FORM='UNFORMATTED',RECL=16)
存储和读取速度都非常慢~
无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
1.关闭杀毒软件,及其他有文件读写的程序。
2.选用新的硬盘接口。
3.选用新的固态硬盘。
另外,我不明白你说的随机存储是什么意思。 补充一下,还可以用内存虚拟硬盘(ramdisk),利用软件将物理内存进行分割,将一部分内存通过虚拟技术转变为硬盘提升数据读取速度。 fcode 发表于 2014-3-15 07:39
无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
...
我说的随机的意思是文件中存储了1000行7列数据,我可以直接用READ,WRITE操作第77行,第3列的数据~ fcode 发表于 2014-3-15 07:39
无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
...
如下代码,有没有优化的建议
谢谢大神指点
你说的随机,其实就是直接读取的概念。ACCESS='DIRECT'
这代码虽然不太规范,但执行效率应该没有太大改善余地了。 fcode 发表于 2014-3-16 08:41
你说的随机,其实就是直接读取的概念。ACCESS='DIRECT'
这代码虽然不太规范,但执行效率应该没有太大改善 ...
那顺序读取和直接读取哪一个效率高? duty 发表于 2014-3-16 10:22
那顺序读取和直接读取哪一个效率高?
无格式比有格式效率高。
直接读取比顺序读取效率高。
所以,在语法层次上,你的读写方式应该是瓶颈了。 :-):-)学习了:-):-)学习了:-):-)学习了
页:
[1]