duty 发表于 2014-3-15 07:12:14

FORTRAN 随机存储和读取文件中指定位置数据

求大神指点快速随机存储和读取文件中指定位置数据的方法?
用了
OPEN(UNIT=IOFRM,ACCESS='DIRECT',STATUS='SCRATCH',FORM='UNFORMATTED',RECL=16)

存储和读取速度都非常慢~

fcode 发表于 2014-3-15 07:39:15

无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
1.关闭杀毒软件,及其他有文件读写的程序。
2.选用新的硬盘接口。
3.选用新的固态硬盘。

另外,我不明白你说的随机存储是什么意思。

珊瑚虫 发表于 2014-3-15 10:01:28

补充一下,还可以用内存虚拟硬盘(ramdisk),利用软件将物理内存进行分割,将一部分内存通过虚拟技术转变为硬盘提升数据读取速度。

duty 发表于 2014-3-16 01:14:31

fcode 发表于 2014-3-15 07:39
无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
...

我说的随机的意思是文件中存储了1000行7列数据,我可以直接用READ,WRITE操作第77行,第3列的数据~

duty 发表于 2014-3-16 02:01:29

fcode 发表于 2014-3-15 07:39
无格式直接方式读取,是最快的方式了。如果你还想加快,恐怕只有在硬件和操作系统方面寻求突破了。
比如:
...

如下代码,有没有优化的建议


谢谢大神指点

fcode 发表于 2014-3-16 08:41:58

你说的随机,其实就是直接读取的概念。ACCESS='DIRECT'

这代码虽然不太规范,但执行效率应该没有太大改善余地了。

duty 发表于 2014-3-16 10:22:56

fcode 发表于 2014-3-16 08:41
你说的随机,其实就是直接读取的概念。ACCESS='DIRECT'

这代码虽然不太规范,但执行效率应该没有太大改善 ...

那顺序读取和直接读取哪一个效率高?

fcode 发表于 2014-3-16 10:39:47

duty 发表于 2014-3-16 10:22
那顺序读取和直接读取哪一个效率高?

无格式比有格式效率高。
直接读取比顺序读取效率高。

所以,在语法层次上,你的读写方式应该是瓶颈了。

shengya321 发表于 2020-11-16 17:21:15

:-):-)学习了:-):-)学习了:-):-)学习了
页: [1]
查看完整版本: FORTRAN 随机存储和读取文件中指定位置数据