Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!mit-eddie!genrad!decvax!ucbvax!leres From: leres@ucbvax.UUCP Newsgroups: comp.os.eunice Subject: Re: vms format files and unix format files Message-ID: <17989@ucbvax.BERKELEY.EDU> Date: Tue, 24-Mar-87 00:58:20 EST Article-I.D.: ucbvax.17989 Posted: Tue Mar 24 00:58:20 1987 Date-Received: Wed, 25-Mar-87 05:31:48 EST References: <1250@uwmacc.UUCP> Reply-To: leres@ucbarpa.Berkeley.EDU (Craig Leres) Organization: University of California at Berkeley Lines: 16 There's a reason why exec() works the way it does under Eunice; it's faster for the 99% case. If the file is fixed length, exec() simply tries to execute it as a VMS image. If it's a variable length file, it reads a record to extract the name of the shell to use. Those who know how slow file I/O is under VMS will see why you want to avoid the read. It may not seem like much overhead, but Unix programs use exec() extensively and it quickly adds up. I disagree with the statement that random seeks only work with Unix files; although not efficient, random seeks work fine. They are slow when dealing with a variable length file is because you must seek to the beginning of the file and read until you get to the right place. So make sure /etc/termcap is a fixed length file! Craig