Weird Fortran i/o?

Steve Couturie shc at fred.UUCP
Sat May 4 11:32:55 AEST 1991


Well,:
Re: Mail from Ian Graham --

  Re weird Fortran I/O times on IRIS 4D/25:
> 
> START-TIME         0.0100      0.0700
> IO WRITE           8.9400      4.7600
> IO READ           26.4600    353.0300 <<---!!!!!!
> 

where the columns are user time and system time, respectively:

I tried the test code, and sure enough, it's weird.  BUT:
a small modification makes it perform very well indeed:

Replace the REWIND with CLOSE.  Here are timings for 4 machines:

[376]fred:shc/junk> ./quickc			# 4D/20G, 16M mem, BUSY
 START-TIME       0.00        0.05
 IO WRITE         8.97        1.08
 IO READ         13.02        1.42

[21]dino:/tmp> ./quickc				# 4D/25TG, 64M mem, idle
 START-TIME       0.00        0.03
 IO WRITE         5.09        0.58
 IO READ          7.62        0.88

[25]bambam:/tmp> ./quickc			# 4D/240GTX, 56M mem, idle
 START-TIME       0.00        0.02
 IO WRITE         3.66        0.39
 IO READ          5.63        0.28

[103]lhdsy1:shc/junk> ./quickc			# DEC 5400 Server, 64M mem, ?
 START-TIME       0.01        0.04
 IO WRITE        13.69       74.98
 IO READ          7.53        2.24


A 4D/25 runs a bit slower (20 MHz vs. 25 MHz) CPU than does the 5400 or 
4D/240, while the 4D/20 is at 12.5 MHz.  The 20 and 25 are using SCSI
disks; the 240 is using ESDI's; the 5400 is using SCSI (I think).
The 20 and 240 are at IRIX 3.3.2, the 25 at IRIX 3.3.1, the 5400 at 
Ultrix 4.1.

I can only surmise that the IRIX Fortran I/O library is not, well, perfect.
---------------------- :-)
I also note that the READ's still take a bit longer on the IRISes than 
the writes; note that the system time has all but vanished, though.
Seems like a bug to me.

I'd be interested in any comments from the SGI/Mtn.View folks....

*****************************************************************************
Below is the modified code:


                PROGRAM QUICKC
C Date: Fri, 03 May 91 12:56:28 EDT
C From: "Dave Gilkinson, hero at large 398-6511 " <gilk at campy>
C
C Modified by Steve Couturie, COFRC.

                REAL TARRAY(2)             
                A= DTIME(TARRAY)
                WRITE(6,100)TARRAY(1),TARRAY(2)
 100            FORMAT(' START-TIME ',F10.2,2X,F10.2)

                DO I = 1, 100000
                  WRITE(99) I,I+1,I+2,I+3
                ENDDO
                 B = DTIME(TARRAY)
                WRITE(6,130)TARRAY(1),TARRAY(2)
 130            FORMAT(' IO WRITE   ', F10.2,2X,F10.2 )
C                REWIND(99)                                  
		CLOSE(99)

               DO I = 1, 100000
                  READ(99)K,L,M,N
                ENDDO
                 B = DTIME(TARRAY)
               WRITE(6,140)TARRAY(1),TARRAY(2)
 140            FORMAT(' IO READ    ', F10.2,2X,F10.2 )
                STOP
                END            

******************************************************************************

-- 
Steve Couturie                      Voice:     (213) 694-9332	
Chevron Oil Field Research Co.      FAX:       (213) 694-7228
P.O. Box  446                       Internet:  shc at chevron.com
La Habra, CA  90633-0446            UUCP:      ...!uunet!lhdsy1!shc



More information about the Comp.sys.sgi mailing list