This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/50673] New: very slow I/O with trailing spaces
- From: "Joost.VandeVondele at pci dot uzh.ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 09 Oct 2011 11:04:12 +0000
- Subject: [Bug libfortran/50673] New: very slow I/O with trailing spaces
- Auto-submitted: auto-generated
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.