Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucbvax.ARPA Path: utzoo!watmath!clyde!cbosgd!ulysses!ucbvax!info-vax From: info-vax@ucbvax.ARPA Newsgroups: fa.info-vax Subject: Re: Huge object modules from Vax-11 C -- why? Message-ID: <5530@ucbvax.ARPA> Date: Sat, 16-Mar-85 00:32:06 EST Article-I.D.: ucbvax.5530 Posted: Sat Mar 16 00:32:06 1985 Date-Received: Sun, 17-Mar-85 00:21:20 EST Sender: daemon@ucbvax.ARPA Organization: University of California at Berkeley Lines: 21 From: stew%lhasa@harvard.ARPA Well, thanx to Tony Li for providing the pointer to the answer to my question. Should figgered this one out myself. The offending code was something like: switch(speed) { case 300: return(TT$C_BAUD_300); case 1200: return(TT$C_BAUD_1200); ... case 19200:return(TT$C_BAUD_19200); } You guessed it, Vax-11 C allocated a 19200-entry jump table. I find this hard to believe. Maybe this fixed in version 2.0. Anyone with a beta-test version care to comment? Changing one switch statement in each of the three source files to a multiple if {} else if {}... reduced them from 406, 595 and 586 blocks to 11, 66 and 63, reduced the EXE from 646 to 236, and the link time from 100 secs to 24. Stew