Xref: utzoo comp.sys.amiga:28434 comp.sys.amiga.tech:3451 Path: utzoo!utgpu!attcan!uunet!lll-winken!ames!hc!pprg.unm.edu!unmvax!tut.cis.ohio-state.edu!rutgers!mit-eddie!killer!texbell!uhnix1!sugar!karl From: karl@sugar.uu.net (Karl Lehenbauer) Newsgroups: comp.sys.amiga,comp.sys.amiga.tech Subject: Re: C Compilers Summary: ...a game of catchup between the two CC vendors Message-ID: <3342@sugar.uu.net> Date: 27 Jan 89 01:36:27 GMT References: <496@geocub.UUCP> <30997@vax1.tcd.ie> <7261@batcomputer.tn.cornell.edu> Organization: Sugar Land Unix - Houston, TX Lines: 51 With regard to the discussion of which C compiler is better, as Dan Riley says, it determines on which versions you compare. First there was only Lattice, so for a while it was the best choice because it was the only choise. Then came Aztec, which at the time produced faster, smaller code, didn't need as much disk space for the compiler and such, and compiled programs significantly more quickly. At that time there were few if any hard disks, so many people found these advangates to be rather compelling. There was a matter of the additional cost of buying another compiler and no doubt this affected many decisions as to which way to go. A subsequent Lattice release (4.0?) put Lattice back on top, with better performance. I'm not sure when function prototypes arrived for Lattice (they haven't yet for Aztec), but they are really good for catching bugs, and I wish Aztec had them (more on that in a bit.) Aztec then came out with the 3.4 release. The big improvement here was 'sdb', a windowing symbolic debugger that, despite some bugs and problems debugging certain code constructs, has been a tremendous productivity improver, for me at last. This, in my opinion, caused Aztec to again achieve predominance over Lattice. Lattice subsequently came out with their own debugger and made other improvments in the compiler. They also have come out with C++, although users on the net haven't been terribly impressed with it in its current form. I think right now, Lattice is a bit ahead of Aztec, but not substantially enough for an Aztec 3.6 user to make the jump. I haven't examined the code generated by Lattice, but Aztec's leaves much to be desired. It's frustrating to see the compiler moving values from a perfectly useful d-register into another d-register to perform a calculation on it. Also, it does stuff like dereferencing a chain of pointers p->q->bar on every reference -- even if it already has the address it needs sitting in a register. I talked to Aztec tech support on the phone recently, though, and they say that a new version, scheduled for release in March (but it'll probably slip by months -- they're pretty bad about doing that) which is full ANSI, including prototypes, and does register tracking and global register allocation, so it should generate much better code and also spurt Aztec ahead of Lattice again until the Lattice people come out with their next version. It's a good thing there are two C vendors for the Amiga. If there were only one it's doubtful it'd be as good as the two are, although I do not think either meets the standards of the cardinal IBM PC C-compilers. -- -- uunet!sugar!karl | "We've been following your progress with considerable -- karl@sugar.uu.net | interest, not to say contempt." -- Zaphod Beeblebrox IV -- Usenet BBS (713) 438-5018