Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!sun-barr!newstop!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga Subject: Re: Compilers Message-ID: <129061@sun.Eng.Sun.COM> Date: 11 Dec 89 20:41:11 GMT References: <34886@spock.uucp> <4016@vax1.tcd.ie> Sender: news@sun.Eng.Sun.COM Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 70 (some balancing comments...) In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes: >- Manx is more UNIX like, it comes with grep, make, diff and a few other >things. Both compilers have utilities which only come with the high-end >version. The Lattice compiler now includes (as of 4.0 I believe) lmk (make), grep, diff, splat (files type utility), wc and some others. And cpr the debugger. >- Manx is faster at compiling. True. >- Manx has an assembler phase and the assembler is better for stand-alone use >than anything else I've seen other than ArgAsm. Lattice has no assembler phase >but still manages to take longer to compile. Lattice doesn't compile to assembly, however a utility is provided (OMD) to disassemble .o files into assembly source. Lattice also includes asm a separate assembler that is compatible with the MetaComCo Amiga Assembler. >- Manx is a lot more compact which is brilliant if you're trying to cram stuff >into RAM disk on a machine with limited memory. Also means it loads off disk >faster. And you can make Lattice resident if you want even more speed. Truely though Lattice favors larger memory systems. >- Lattice uses standard object file format. Manx doesn't, which makes it >difficult to link with other compilers/assemblers. True. >- More existing code is written for Lattice because it was the compiler >originally available. Right now I'd say developers are more or less evenly >divided. Some code could be run on both so how do you count that? Generally Lattice code lints cleaner because the compiler complains more but either way most code is usable on either system. Especially if you use Manx in 32 bit mode. >- Manx has precompiled include files which are a lot better than Lattice's >compact include files. "lot" is subjective, they are better. Lattice will let you do incremental linking if you choose which can be faster but the interface is a bit strange. >- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C. Also Manx libraries tend to be like the BSD library, whereas Lattice's tend to be like System V libraries. >- Usually Manx generates more compact code, Lattice generates slightly faster >code. I'm not so sure about this anymore. This may still be true for the "no switches" mode. But given equal effort I think the code sizes are similar. Especially when Lattice's global optimizer gets into the act. >- Both compilers now have source level debuggers, both have a choice of 16 or >32 bit ints, both have optional run-time stack checking. Lattice's debugger is bundled, Manx's is $75 extra. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@Eng.Sun.COM These opinions are my own and no one elses, but you knew that didn't you. "If it didn't have bones in it, it wouldn't be crunchy now would it?!"