ファイルの読み取りとオープンを高速化

user9404237

ループで複数のファイルを読み込もうとしていますが、コードが毎回ファイルを読み取るように見えるため、処理が遅くなります。初めてファイルを読み取るためのフラグを含めましたが、機能していないようです。コードを高速化するにはどうすればよいですか?

program readfiles
use variables
use trilinear
implicit none
real:: coord(1448,27), inner_coord(1448,3),     interpolated_array(1448)        !
integer :: i, j, N, zeta, lam, k, l, m, row, inner_row, max_rows
Logical :: first_time = .True.
CHARACTER(len=100) :: FN 
type(string) :: array(3)
N=3                     !--arbitrary number of files 
array(1)%str = '2e8'
array(2)%str = '2e9'
array(3)%str = '3e9'

if(first_time) then
max_rows=1448
do row=1, max_rows
lam = 80
DO I=1,N
lam = lam + 60
zeta=20
do j=1,N
    zeta = zeta + 20
    do k=1,N
                    WRITE(FN,10)lam, zeta, (array(k)%str)!,k=1,N) 
                        OPEN(99,FILE=FN, action='read', status='old', position='rewind')!open the file to read
                        do inner_row=1,max_rows
                        read (99,*) (inner_coord(inner_row,l),l=1,3)!coorda, coordb, coordc
                            enddo

           coord(:,9*I+3*j+k-12)=inner_coord(:,3)
                    CLOSE(99)   !this ensures it closes d file it is reading from so a new one can b opened for reading 
    enddo
enddo
END DO                       
ENDDO
10 FORMAT('4e3_2048_',(I3.0),'_',(I2.2),'_',(A3),'.ksz_cl.txt') !length of this is decided by FN
first_time = .False.
endif
print *, first_time

interpolated_array = trilinear_mod(150.0,70.0,2000000000.0,coord)
open (unit=96, file='interpolated_array.txt')   !This bit flattens the array
do m = 1,max_rows
    write(96,'(30f16.13)') interpolated_array(m)    !'(27f13.10)'
enddo
 end program readfiles
Akhdiyor

私は間違っている可能性がありますが、あなたは非効率的な方法でループを行っているようです。ファイルを開き、ファイル読み取りの最後に1行ずつ移動し、最後の読み取りのみを使用します(1448回、多すぎます)。代わりに、(行インデックスを使用して)外側のループを取り除き、coord(:、9 * I + 3 * j + k-12)= inner_coord(:、3)を上のループの内側に移動して、読み取りの下に置きます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Matlab、fread、複数のデータ型と複数のサンプルレートでファイルの読み取りを高速化

分類Dev

30,000csvファイルの読み取りと操作の高速化

分類Dev

PythonはExcelファイルの読み取りを高速化します

分類Dev

RでCSVファイルの読み取りを高速化する方法

分類Dev

openpyxlを使用してExcelファイルの読み取りと書き込みを高速化したい

分類Dev

ファイルからのいくつかの読み取りを高速化するAndroidの方法

分類Dev

パンダでファイルの読み取り/書き込みを高速化する方法はありますか?

分類Dev

openpyxlの読み取りを高速化

分類Dev

SQLテーブルへのテキストファイルの読み取りを高速化する最良の方法は?

分類Dev

パンダでのcsvファイルのこの条件付き行の読み取りを高速化しますか?

分類Dev

Pythonでの非常に大きなnetcdfファイルの読み取りの高速化

分類Dev

HTML : サムネイル画像とフル画像の読み込みを高速化

分類Dev

ファイルから方程式のリストを読み取って評価するときにPythonの評価を高速化する

分類Dev

GNU Octaveで大きなファイルの読み取りを高速化するにはどうすればよいですか?

分類Dev

中程度のサイズのJSONファイルでスレッドプールを使用した非同期読み取りよりも高速な同期読み取り

分類Dev

grepの高速化とファイルへの書き込み

分類Dev

R:forループと高速化コードを取り除く

分類Dev

whileループを使用してファイルを読み取ると、途中でファイルの読み取りがランダムに停止します

分類Dev

Pythonのオープンディレクトリ、ファイル名の読み取りと印刷

分類Dev

cordovaファイルプラグインを使用したファイルの書き込みと読み取り

分類Dev

Pythonでのデータ読み取りを高速化しますか?

分類Dev

StreamReaderからの検索/読み取りを高速化

分類Dev

組み込みLinux:シリアルポートからのバイトの読み取りが遅すぎて転送を高速化できない

分類Dev

Dockerイメージ内のファイルを圧縮すると、プルが高速化されますか?

分類Dev

巨大なファイルからの読み込みを高速化する方法(Java)

分類Dev

PythonはデータファイルのタイムスタンプをNANとして読み取ります

分類Dev

オープン/読み取りを使用するときにファイルの終わりを検出するにはどうすればよいですか?

分類Dev

単一のファイルを暗号化し、オンザフライで読み取り/編集します

分類Dev

ファイルを読み取ってその内容を返す関数を高速化するにはどうすればよいですか?

Related 関連記事

  1. 1

    Matlab、fread、複数のデータ型と複数のサンプルレートでファイルの読み取りを高速化

  2. 2

    30,000csvファイルの読み取りと操作の高速化

  3. 3

    PythonはExcelファイルの読み取りを高速化します

  4. 4

    RでCSVファイルの読み取りを高速化する方法

  5. 5

    openpyxlを使用してExcelファイルの読み取りと書き込みを高速化したい

  6. 6

    ファイルからのいくつかの読み取りを高速化するAndroidの方法

  7. 7

    パンダでファイルの読み取り/書き込みを高速化する方法はありますか?

  8. 8

    openpyxlの読み取りを高速化

  9. 9

    SQLテーブルへのテキストファイルの読み取りを高速化する最良の方法は?

  10. 10

    パンダでのcsvファイルのこの条件付き行の読み取りを高速化しますか?

  11. 11

    Pythonでの非常に大きなnetcdfファイルの読み取りの高速化

  12. 12

    HTML : サムネイル画像とフル画像の読み込みを高速化

  13. 13

    ファイルから方程式のリストを読み取って評価するときにPythonの評価を高速化する

  14. 14

    GNU Octaveで大きなファイルの読み取りを高速化するにはどうすればよいですか?

  15. 15

    中程度のサイズのJSONファイルでスレッドプールを使用した非同期読み取りよりも高速な同期読み取り

  16. 16

    grepの高速化とファイルへの書き込み

  17. 17

    R:forループと高速化コードを取り除く

  18. 18

    whileループを使用してファイルを読み取ると、途中でファイルの読み取りがランダムに停止します

  19. 19

    Pythonのオープンディレクトリ、ファイル名の読み取りと印刷

  20. 20

    cordovaファイルプラグインを使用したファイルの書き込みと読み取り

  21. 21

    Pythonでのデータ読み取りを高速化しますか?

  22. 22

    StreamReaderからの検索/読み取りを高速化

  23. 23

    組み込みLinux:シリアルポートからのバイトの読み取りが遅すぎて転送を高速化できない

  24. 24

    Dockerイメージ内のファイルを圧縮すると、プルが高速化されますか?

  25. 25

    巨大なファイルからの読み込みを高速化する方法(Java)

  26. 26

    PythonはデータファイルのタイムスタンプをNANとして読み取ります

  27. 27

    オープン/読み取りを使用するときにファイルの終わりを検出するにはどうすればよいですか?

  28. 28

    単一のファイルを暗号化し、オンザフライで読み取り/編集します

  29. 29

    ファイルを読み取ってその内容を返す関数を高速化するにはどうすればよいですか?

ホットタグ

アーカイブ