Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!cmcl2!rutgers!sri-spam!ames!ucbcad!ucbvax!ENGVAX.SCG.HAC.COM!KVC From: KVC@ENGVAX.SCG.HAC.COM (Kevin Carosso) Newsgroups: comp.os.vms Subject: VAX C I/O performance Message-ID: <8706260653.AA06090@ucbvax.Berkeley.EDU> Date: Wed, 24-Jun-87 20:08:00 EDT Article-I.D.: ucbvax.8706260653.AA06090 Posted: Wed Jun 24 20:08:00 1987 Date-Received: Sat, 27-Jun-87 07:09:30 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 27 I'm not much of a C programmer, so be kind... (but I'm an INFO-VAX old-timer!) I've got a user with a C program that basically does read () and write () to move data from one file to another. He says that it is terribly slow, like one minute for a 1000 block data file. Now, do most people find read and write in C to be slow compared with (say) RMS calls? or with read and write on a suitably similar UNIX machine? is there a big performance difference between stream files and carriage return text files? He says DEC told him that it's slow because write () won't write more than 512 bytes at a time. Even if that's the case, should it be so slow? My guess is that it only reads one records-worth and hence his code only writes one records-worth. Maybe it's that slow record-at-a-time. If I'm right, would the same apply to stream files? (he says the input file was created with a C program, so it could be a stream file). Finally, should I just tell the guy that he has to use RMS or block-mode QIO's for speed (that's what I'd do, but I'm not a C programmer). He really doesn't want to use any "horrible VMS system calls". Anyway, I know the question is not posed very well, but if I get enough input I can figure out what's going on and the best remedy. Thanks, /Kevin Carosso kvc@engvax.scg.hac.com Hughes Aircraft Co. kvc%engvax@oberon.usc.edu