加快读取和打开文件的速度

时间:2019-09-08 03:09:57

标签: fortran gfortran

我正在尝试循环读取多个文件,但似乎我的代码每次都会读取文件,这使其运行缓慢。我添加了一个标志来仅是第一次读取文件,但似乎不起作用。如何使代码更快?

post.postId = newRef.key!!

2 个答案:

答案 0 :(得分:0)

我的fortran生锈了,但我认为它应该像这样:

    if(first_time) then
           OPEN(99,FILE=FN, action='read', status='old', position='rewind')                                     
           do inner_row=1,max_rows
               read (99,*) (inner_coord(inner_row,l),l=1,3)!coorda, coordb, coordc
               coord(:,9*I+3*j+k-12)=inner_coord(:,3)
               CLOSE(99)  
           enddo
          first_time=.false.
    enddo

答案 1 :(得分:0)

我可能是错的,但在我看来,您的循环效率很低。您打开文件并逐行移至文件读取的末尾,仅使用最后一次读取(1448次,太多)。取而代之的是,我摆脱外部循环(带有行索引),将coord(:,9 * I + 3 * j + k-12)= inner_coord(:,3)移到上面的循环中,并置于读取状态。