Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!husc6!harvard!caip!lll-crg!gymble!umcp-cs!seismo!mcvax!ukc!dcl-cs!strath-cs!jim From: jim@cs.strath.ac.uk (Jim Reid) Newsgroups: net.lang.c Subject: Re: Datalight faster than 4.2, why? Message-ID: <131@stracs.cs.strath.ac.uk> Date: Wed, 14-May-86 07:48:57 EDT Article-I.D.: stracs.131 Posted: Wed May 14 07:48:57 1986 Date-Received: Sat, 17-May-86 04:12:00 EDT References: <989@dataioDataio.UUCP> Reply-To: jim@cs.strath.ac.uk (Jim Reid) Organization: Department of Computer Science at Strathclyde University, UK. Lines: 35 In article <989@dataioDataio.UUCP> bjorn@dataio.UUCP writes: > The state-of-the-art in compilers has progressed on PCs, > so why hasn't anyone come up with a better compiler for > UNIX, or have I just not heard of it? > >For your information I'm running UNIX 4.2bsd with the standard C >compiler on a VAX 11/750, and Datalight C 2.04 on an IBM PC/AT under >MSDOS 3.0. The PC takes 5 minutes 26 seconds to compile 7605 lines of >code in 29 files (plus 735 lines of header in 13 files), whereas the unloaded >VAX (load average 1.13) takes 8 minutes 30 seconds. All the outside >influences were indentical: debugging, optimization, etc. Whoopee! I'm glad someone has proved that an AT - floppy disks and all? - is faster than a VAX. Maybe now I can convince folk it's a good idea to scrap our VAX for an AT!!! :-) :-) :-) :-) :-) Comparisons like that are *totally meaningless* - What about the quality of the generated code? What "optimisations" do the compilers perform? Do both produce much the same symbolic information for debugging? What's involved in linking object modules in the two progams? How many passes over the source code/expanded code/"parse trees" does each compiler do? The 4BSD compiler has at least 5 - 6 if you count linking. First there's the preprocessor, then the compiler proper has probably two passes, the assembler has another two for good measure (depending on how you look at the assembler). Then there's your configuration - how much memory does each system have? How much core does each compiler use/need? How much paging or swapping goes on during compilation? How much disk traffic - intermediate files etc - is done? Granted, your AT compiler might have faster algorithms for symbol table lookup and the like, but the only conclusion that can be drawn from the numbers you gave is that for the conditions you describe, your AT C compiler is faster. It doesn't follow that both compilers or CPUs are doing the same amount of work, so making comparisons or drawing conclusions are pointless. Jim