Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!brutus.cs.uiuc.edu!lll-winken!muslix!jac From: jac@muslix.llnl.gov (James Crotinger) Newsgroups: comp.sys.amiga Subject: Re: Compilers Message-ID: <40703@lll-winken.LLNL.GOV> Date: 6 Dec 89 16:26:00 GMT References: <34886@spock.uucp> <4016@vax1.tcd.ie> Sender: usenet@lll-winken.LLNL.GOV Reply-To: jac@muslix.UUCP (James Crotinger) Organization: Lawrence Livermore National Laboratory/UC Davis Lines: 74 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. > Lattice also comes with make, diff, and grep as well as some other UNIX and non-UNIX utilities. It also has a profiler and a post-mortem trace back facility that I don't think Manx 3.6 has. Starting with 5.0, Lattice only has one C compiler package which comes standard with all the utilities, C compiler, assembler, AND source level debugger (a seperate product from Manx). >- Manx is faster at compiling. > But only somewhat. Less than a factor of two. Neither compiler is blindingly fast, ala Think C on the Mac. 8-(. >- 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. > Very subjective. The Manx assembler is not compatible with the original Metacompost Assembler, which is sort of the standard. It's also not all that fast. I use CAPE. Lattice also compiles in two stages, but rather than have the first stage compile to a machine specific assembly language, it compiles to a machine independent language. This way the front end of the compiler is basically machine independent. Lattice comes with an assembler and a full set of assembly include files. >- 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. > The Lattice compiler and linker are pure, though, so they can be made resident. (Perhaps this can be done with Manx as well - I don't know). > >- Manx has precompiled include files which are a lot better than Lattice's >compact include files. > Lattice 5.0 also supports precompiling header files (in addition to the header file compression). >- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C. Lattice 5.0 isn't quite ANSI C, though 5.04 seems to have fixed most of the descrepencies that I can think of at the moment. I don't think Lattice supports trigraphs and some obscure orderings of declarators. >- Usually Manx generates more compact code, Lattice generates slightly faster >code. > As with speed of compilation, the differences here are much less than they used to be. >I myself use Manx 3.6 mainly on the grounds of the compiler being more compact >and faster, but I'm thinking of switching to Lattice C because of the full ANSI >compliance and the standard object file format. Of course, I'd still use the >Aztec UNIX utilities. I have both, but these days I use only Lattice due to the ANSI support and the fact that I also have their C++ system. > >"To summarize the summary of the summary: people are a problem" >Russell Wallace, Trinity College, Dublin >VMS: rwallace@vax1.tcd.ie >UNIX: rwallace@unix1.tcd.ie Jim