Fortran格式的选择,以提高代码执行时间

Fortran格式的选择,以提高代码执行时间,fortran,fortran77,Fortran,Fortran77,我有一个代码,它以三个值数组开始,这些值在代码的开头初始化。对于不同的运行,我必须进入代码中对这些初始值进行显式更改。 由于这是非常令人沮丧和耗时的,我决定修改代码,使代码从文本文件中读取初始值 虽然我成功地进行了更改,但现在代码运行速度要慢得多(至少是20倍) 当我在代码中显式初始化数组时,数组看起来像 数组1={0.001,0.002,0.034,…} 数组2={42D4,36D4,72D4,10D5,…} 我试着用 格式(E8.2)或格式(D8.2)或格式(F8.2) 我猜我使用这些格式从

我有一个代码,它以三个值数组开始,这些值在代码的开头初始化。对于不同的运行,我必须进入代码中对这些初始值进行显式更改。 由于这是非常令人沮丧和耗时的,我决定修改代码,使代码从文本文件中读取初始值

虽然我成功地进行了更改,但现在代码运行速度要慢得多(至少是20倍)

当我在代码中显式初始化数组时,数组看起来像

数组1={0.001,0.002,0.034,…} 数组2={42D4,36D4,72D4,10D5,…}

我试着用

格式(E8.2)或格式(D8.2)或格式(F8.2)

我猜我使用这些格式从文件中读取值的方式与代码速度的大幅降低有关

这是真的吗?如果没有,我需要做什么?
如果是,我应该如何修改格式,使我的代码以与以前类似的速度运行?

很难说阅读是否占代码运行时间的很大一部分。我们不知道,因为我们看不到代码。但如果是,那么:

正如前面多次提到的,文本文件的性能不会很好。您为读取设置的格式与此无关,运行库必须进行大量处理才能将字符串转换为计算机内存中的数字

显著加快I/O操作的方法是使用未格式化(二进制)数据文件

值得注意的是,您尝试过的格式

Format(E8.2)
Format(D8.2)
Format(F8.2)

对于输入,所有都是完全等效的。不仅是他们的速度。它们的意思完全等同于输入。

请与我们分享您的一些作品。