$ cat write-many.f program main open(10,status='SCRATCH') a = 0.3858204 do i=1,1000000 a = a + 0.4761748164 write(10, '(G12.5)'),a end do end $ gfortran write-many.f $ time ./a.out
real 0m8.165s user 0m8.092s sys 0m0.059s $ g77 write-many.f $ time ./a.out real 0m5.760s user 0m5.719s sys 0m0.032s $ gfortran -v Using built-in specs. Target: ia64-unknown-linux-gnu Configured with: ../gcc-4.1-20050227/configure --prefix=/home/zfkts --enable-languages=c,f95 Thread model: posix gcc version 4.1.0 20050227 (experimental) -- Summary: Performance regression in formatted output vs. g77 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P2 Component: libfortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Thomas dot Koenig at online dot de CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: ia64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20278