Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 GARFIELD 20/11/84; site garfield.UUCP Path: utzoo!utcsri!utai!garfield!john13 From: john13@garfield.UUCP Newsgroups: net.micro.amiga Subject: Re: C compiler comparison Message-ID: <2635@garfield.UUCP> Date: Mon, 6-Oct-86 15:24:31 EDT Article-I.D.: garfield.2635 Posted: Mon Oct 6 15:24:31 1986 Date-Received: Fri, 10-Oct-86 03:03:17 EDT Sender: perry@garfield.UUCP Reply-To: john13@garfield.UUCP (John Russell) Organization: Memorial U. of Nfld. C.S. Dept., St. John's Lines: 67 Keywords: Manx Lattice Opinions In-Reply-To: <8610021606.AA18976@cory.Berkeley.EDU> [] I haven't really used the Manx compiler for anything more than compiling sources downloaded from the net, and compiling my Big Project (a calculator personalized to fit my own needs), but I've used Lattice quite a bit, and for the same basic purposes, so I guess I shouldn't be afraid to comment. I was *amazed* when I first compiled a program under Manx that I had also compiled under Lattice. The Big Project executable was 29K and change. Manx executable, after the source has been *lengthened* considerably, is just over 11K. Matt commented on the short/long integer issue, as it relates to the size of executables - the 11K is compiled with the 32 bit integers, until I work out a better way to handle big factorials. Without the option, the file is only a few hundred bytes shorter. This discrepancy is not just due to the stuff Lattice puts in at compile time. Back in the early stages, I reduced the size of the executable under Lattice by 1K, just by replacing a "if A then func1(); if B then func2();" with "if A then func = func1; if B then func = func2(); func();". 1K just to add in *one* function call? If anyone has reliable figures for the amount of memory taken by specific compiler actions, I'd like to see it. Also, I haven't run gfxmem with a Manx link yet, but with Alink the memory is just chewed right up! There isn't enough on a 512K Amiga for all the important Dos commands, lc.lib and amiga.lib in memory while doing a link. Using Manx, there is no need for the Dos commands in ram: (it's a full Workbench), and I've had no problems fitting c.lib, m.lib, source, all quad files, and executables in memory during the full process. All that have to be loaded are the compiler, assembler, and linker. Just for comparison, I can compile and link the Big Project in 51 seconds with Manx. Lattice? Take a coffee break in the 4-5 minutes it takes. What are the experiences of other people who have used both? As to Lattice being the "standard" by which Amiga sources are to be measured: the number of sources I have downloaded or found on Fish and Amicus disks that have hitchlessly compiled with Lattice is....... ZERO. The vt100 emulator that I am using right now caused a _Task Held_ message and guru on the first phase pass through window.c. Manx didn't even burp on it (yes, I incorporated the Lattice #define and all the posted bug fixes before trying Lattice). Freedraw, remember that way back when? The number of errors that generated was unbelievable. Etc, etc. Admittedly I haven't tried compiling *every* source I have...I gave up in disgust after about the twentieth. (With letter all typed and ready to go to Mr. Wecker, pleading for help on the vt100; decided not to post it that day, and the next day I got to try Manx). BTW, my Lattice didn't include (oh those puns) [L|A]Startup.obj. The listing of files on the disk was at odds with the documentation. Stdio.h and others were in the include/lattice directory, from which they had to be rescued if *any* program was to work properly. First out of the factory? No, a relatively recent 3.03. I'm open to comments and criticisms regarding the merits of both compilers. However, my mind is not likely to be changed, largely because of the 2 months I spent twiddling my thumbs while the sources I had downloaded sat around getting moldy. Disclaimer: All preceding opinions are my own as an Amiga user, not those of my employer or this university. Plea: Anyone have a path to cbmvax that WORKS? Wish: That we see lots more ray trace pictures posted! Lots'n'lots! John Russell UUCP: {akgua,allegra,cbosgd,ihnp4,utcsri}!garfield!john13 CDNNET: john13@garfield.mun.cdn