Weird Fortran i/o?
Ian Graham
igraham at SMAUG.PHYSICS.MCGILL.CA
Sat May 4 05:51:25 AEST 1991
Hello,
A user on our system was checking benchmarks for system i/o on
IRIS/SUN/HP9000/DECSTATION and came up with the following quirky
results: (THe code is given at the bottom) THe program writes
100000 bunches of 4 integers into a direct access fie, rewinds,
and reads 'em all back. Here are the results for a 4D-25:
START-TIME 0.0100 0.0700
IO WRITE 8.9400 4.7600
IO READ 26.4600 353.0300 <<---!!!!!!
So what gives? Why should it take 5 MINUTES to read some data written
in 5 SECONDS! On a Decstation 3000 (same CPU chipset...) the OPPOSITE
is true -- it takes 5 minutes to WRITE the file, and only 5 seconds to
READ it! On a Sun-3 things are altogether slower, but again the write
is much slower than the read:
IO WRITE 100.4800 320.0400
IO READ 50.7400 8.1800
Meanwhile on an HP9000 (Snake!??!) it takes only 5 seconds to
read and/or write. Nice if you are heavily i/o bound and running
Fortran (as is the case for this user.)
Anyone know what's going on?
HEre are the system specifics, as far as I know them, and the test code:
IRIS 4D-25, IRIX 3.3.1
SUN SUN3-180, SUNOS3.5
DEC Decsation 3100, ??
HP HP9000-720 ??
PROGRAM QUICKTEST
C Date: Fri, 03 May 91 12:56:28 EDT
C From: "Dave Gilkinson, hero at large 398-6511 " <gilk at campy>
REAL TARRAY(2)
A= DTIME(TARRAY)
WRITE(6,100)TARRAY(1),TARRAY(2)
100 FORMAT(' START-TIME ',F10.4,2X,F10.4)
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.4,2X,F10.4 )
REWIND(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.4,2X,F10.4 )
STOP
END
___________________________________________ Ian Graham ______________
igraham at physics.mcgill.ca
Tel: (514) 398-6526
Fax: (514) 398-8434
More information about the Comp.sys.sgi
mailing list