------- 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

Reply via email to