[Bug libfortran/23363] gfortran 30 x slower that g77 on random I/O
dir at lanl dot gov
gcc-bugzilla@gcc.gnu.org
Mon Aug 15 13:41:00 GMT 2005
------- Additional Comments From dir at lanl dot gov 2005-08-15 13:32 -------
The Linux version is a little faster but has the same problem -
dir/tests> f77 -o rdiska rdiska.f
dir/tests> time rdiska
1.088u 0.038s 0:01.13 98.2% 0+0k 0+0io 0pf+0w
dir/tests> gfortran -O -o rdiska rdiska.f
dir/tests> time rdiska
STOP 0
5.959u 18.591s 0:24.54 100.0% 0+0k 0+0io 0pf+0w
dir/tests> gfortran --v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/home/dir/gfortran --enable-languages=c,f95
Thread model: posix
gcc version 4.1.0 20050815 (experimental)
dir/tests> !cat
cat rdiska.f
program main
implicit integer(a-z)
dimension w(16384)
common/frfcm1/mxfrf,ifrf,buflen,fcsize,dskloc ,curlen,kop,ier
ncpw=4
buflen=16384
lrecl=ncpw*buflen
open (3,access='direct',form='unformatted'
1,recl=lrecl,status='unknown')
do 10 i=1,200
call wdiska(3,w,16384,(i-1)*buflen);
10 continue
do 20 i=1,200
call rdiska(3,w,16384,(200-i)*buflen);
20 continue
stop
end
subroutine rdiska (lus,w,nw,da)
implicit integer(a-z)
dimension w(nw)
common/frfcm1/mxfrf,ifrf,buflen,fcsize,dskloc ,curlen,kop,ier
lda=da/buflen+1
read (lus,rec=lda,iostat=ios) w
return
entry wdiska(lus,w,nw,da)
lda=da/buflen+1
write (lus,rec=lda) w
return
c
end
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23363
More information about the Gcc-bugs
mailing list