[comp.sys.apollo] fseek/lseek and filesystems

SRFERGU@ERENJ.BITNET (Scott Ferguson) (02/21/90)

I'm using some rather large (up to 150 MBytes or so) files, which I am
forced to do random access on. I'm using C, because I like structures
and the style of the language. Unfortunately, if I need to do an fseek()
on the file, the further the seek goes, the longer it takes. I had hoped
that it could do something like increment a file pointer, but it seems to
be marching through, byte-by-byte, or block-by-block.

I can't use ms_$ calls, because I'm going over NFS to a non-apollo system
with this stuff, which makes seek/read take that much longer (quick gripe
about getting out those 100 Mbit/sec networks...)

I haven't tried using the open/read/lseek set of I/O statements, just
fopen/fread/fseek. Would it be any faster to switch to open/read/lseek?

I haven't tried using FORTRAN direct access files, because I think my Titan
FORTRAN environment might use a funky direct-access system, which is different
from my sr9.7 'rec' type files.

Is there a faster way to seek through a file than fseek, without using mapped
segment stuff?

Thanks,
Scott Ferguson
srfergu@erenj.bitnet