This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libfortran/50673] New: very slow I/O with trailing spaces


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

             Bug #: 50673
           Summary: very slow I/O with trailing spaces
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: Joost.VandeVondele@pci.uzh.ch


The following testcase (derived from CP2K, which required 20min to read a 600Mb
file) is about 100x times slower with gfortran than with ifort (12.0.4)

CHARACTER(LEN=40480) :: line="O 0.12456789 0.123456789 0.123456789"
CHARACTER(LEN=2) :: AA
REAL*8 :: vec(3)
DO i=1,10000
   read(line,*) AA,vec
ENDDO
END

The issue seems related to how efficient the trailing spaces are handled in
both compilers. 4.7 is a bit (20%) slower than 4.3, but nothing fundamental.

Profiling the code shows that most time is spent in next_char, mem_read,
memcpy, eat_spaces.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]