Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!rutgers!sri-spam!sri-unix!hplabs!tektronix!tekgen!tekigm!phils From: phils@tekigm.UUCP (Phil Staub) Newsgroups: net.micro.amiga Subject: Re: C compiler comparison Message-ID: <958@tekigm.UUCP> Date: Mon, 6-Oct-86 12:24:12 EDT Article-I.D.: tekigm.958 Posted: Mon Oct 6 12:24:12 1986 Date-Received: Wed, 8-Oct-86 01:00:45 EDT References: <8610021606.AA18976@cory.Berkeley.EDU> Reply-To: phils@tekigm.UUCP (Phil Staub) Organization: Tektronix, Inc., Beaverton, OR. Lines: 51 In article <8610021606.AA18976@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > > Manx code is smaller due to the fact that it defaults to 16-bit ints. >If you use it in a comparable mode (+l option for 32-bit ints), I think >Lattice wins. This, by the way, is why Manx code is usually a *little* >faster. Lattice bungled their library for 3.03 and below, and thus a lot >is generally included if you reference even supposedly short routines. > > However, if you do not use Lattice's current library (for instance, >my SHELL and the utilities I posted use my own library), the difference in >executable sizes is negligible. > > Lattice's 3.04 library is supposedly much improved and no longer >causes these huge executables. > I use the Manx compiler with the +l option almost exclusively, and typically find that (at least on some of the code supplied on the Fish disks) I still only wind up with about half the amount of code as the Lattice version. I suspect this is due to the library problems you mentioned. I normally find only minimal code size increase from 16 to 32 bit ints. >---- > What I don't like about Manx is the fact that they decided not to >use the Amiga's standard for object modules, libraries, etc... which causes >headaches. the new linker, BLINK, is quite a bit faster than Manx's >linker anyway. > I agree it would have been nice if the Manx format would have been compatible, but that would have made things too easy! 8-) > Talking to Jay Denebeim (sysop for the BBS w/carries Blink), Lattice's >3.04 compiler will have PC relative addressing modes for calls and jumps, and >relative addressing through an address register for static/global variables. >He pointed out that this would mean that I could make my shell and any other >program re-entrant without any problem. This will also, incidently, probably >make the code more compact than Manx as Lattice already has some great >optimization hacks in the compiler. > Manx 3.20a already uses these optimizations if small code and data models are used (the default). Phil Staub Tektronix, Inc. ISI Engineering P.O. Box 3500 Vancouver, Washington 98668 C1-904, (206) 253-5634 ..tektronix!tekigm!phils