GFortran is slower with I/O than g77 was (I think that was known already).
But 4.4 is even slower than 4.3 in certain cases, e.g.:
a simple program to count lines:

countlines.f
---------------
      PROGRAM countlines

C Count lines on stdin

      I=0
      DO
         READ(*,*,END=1)
         I=I+1
      ENDDO
 1    CONTINUE
      PRINT *,I

      END PROGRAM
-----------------
Create a file with 10,000,000 empty lines, for instance like this:

$ python -c "import sys; sys.stdout.write('\n'*10000000)" > temp

Using: gcc version 4.4.0 20081005 (experimental) [trunk revision 140878] (GCC):

$ gfortran -O countlines.f
$ time ./a.out < temp
    10000000

real    0m3.745s
user    0m3.740s
sys     0m0.004s

Using: gcc version 4.3.1 (Debian 4.3.1-9)
    10000000

real    0m2.603s
user    0m2.588s
sys     0m0.016s

Using: g77 (gcc version 3.4.6 (Debian 3.4.6-6))
 10000000

real    0m0.733s
user    0m0.728s
sys     0m0.004s


-- 
           Summary: READ I/O Performance regression from 4.3 to 4.4
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bartoldeman at users dot sourceforge dot net
 GCC build triplet: i586-pc-linux-gnu
  GCC host triplet: i586-pc-linux-gnu
GCC target triplet: i586-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37754

Reply via email to