Arrays Fortran以迭代方式写入或存储在数组中,然后写入

Arrays Fortran以迭代方式写入或存储在数组中,然后写入,arrays,optimization,fortran,gfortran,Arrays,Optimization,Fortran,Gfortran,在我编写的许多代码中,我需要将数据放在外部txt中,并且在生成数据时这样做(在数据生成循环中嵌套写入)。我想在这里将值写入数组,然后将整个数组一次性写入txt。这个快吗?给定“n”个项目要快多少?说‘n’是第(10)条第6到第12条的顺序。拥有这么大的阵列是个坏主意吗 忽略依赖于语言的东西:在循环中写入受延迟限制(尽管操作系统和文件系统可能会尝试一些技巧),使用大缓冲区(在您的例子中是数组)写入受带宽限制。所以,是的,在大多数情况下,先收集后编写的方法可能会快10-1000倍(只是我可能非常错误

在我编写的许多代码中,我需要将数据放在外部txt中,并且在生成数据时这样做(在数据生成循环中嵌套写入)。我想在这里将值写入数组,然后将整个数组一次性写入txt。这个快吗?给定“n”个项目要快多少?说‘n’是第(10)条第6到第12条的顺序。拥有这么大的阵列是个坏主意吗

忽略依赖于语言的东西:在循环中写入受延迟限制(尽管操作系统和文件系统可能会尝试一些技巧),使用大缓冲区(在您的例子中是数组)写入受带宽限制。所以,是的,在大多数情况下,先收集后编写的方法可能会快10-1000倍(只是我可能非常错误的近似值)。这是一个好问题。正如@sascha所说,这种方法要快得多。只是一个评论,让这更快。如果你可以预先分配数组,也就是说,如果你知道数组的大小,那么这个过程会更快。我想,只要你继续使用txt文件,它就会一直很慢。大部分时间都花在从二进制到文本的转换上。@Vladimir你建议我用什么?我用gnuplot绘制数据。是否有更好的方式对外存储这些数据?