Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!mcvax!hp4nl!phigate!prle!prles2!cstw01!meulenbr From: meulenbr@cstw01.prl.philips.nl (Frans Meulenbroeks) Newsgroups: comp.sys.atari.st Subject: Re: Comment on PD/Shareware C compiler Message-ID: <474@prles2.UUCP> Date: 8 May 89 12:05:35 GMT References: <1048@orbit.UUCP <1471@atari.UUCP> Sender: nobody@prles2.UUCP Reply-To: meulenbr@cstw01.prl.philips.nl (Frans Meulenbroeks) Organization: Centre for Software Technology, Philips Eindhoven Lines: 52 [I've trimmed down the original article quite heavily. FM In article <1471@atari.UUCP apratt@atari.UUCP (Allan Pratt) writes: I got GCC version 1.23 for the ST from Simon Poole (indirectly), and I found that its 68000 code generation is TERRIBLE. It is beaten by ALL the other Atari C compilers I could find (Dhrystone 2.1), by a factor of two or more in some cases. This includes using -O, but no other Why don't you mention the DRI C compiler?? Not a speed monster either. These are the ST timings I got for Dhrystone 2.1. (I can't publish any non-ST times.) All are on the same ST, with the same things going on in background (mainly checking for special "hot" keys; the background stuff is why the times are slower than yours). COMPILER OPTIONS NOREG REG -------- ------- ----- ---- GCC 452 475 GCC -O 540 540 The gcc 1.34 version is above 1000 if I recall correctly. Don't have the exact figure handy. AZTEC large 768 834 MWC 986 1065 MWC -O -Vpeep 1014 1091 ALCYON 982 1097 AZTEC small 1063 1161 TURBO -GJMPRZ 1650 1730 (from J.Oklamcakn) Aztec is version 3.6c; "large" is +P, meaning large code, large data, and 32-bit ints; "small" means the defaults: small code (PC-relative) small data (address-register relative) and 16-bit ints. Aztec large and GCC have 32-bit ints, all others 16. Turbo C blows everybody else away gcc 1.34 has also the option to use 16 bit ints. partly because they pass arguments in registers, and probably Julius ran it on a bare ST (nothing running in Vblank). The gain with turbo C is also achieved by carefully handcrafting the library routines in assembler. By the way: which library did you use with gcc? This will influence the timing greatly. Some other facts: gcc is a full ansi compiler and it is free (while being supported better than most or perhaps all of the other compilers mentioned) Anyway, apart from the fact that gcc is a memory hog for me it is still a great compiler. I use it as frequent as Turbo C Frans Meulenbroeks (meulenbr@cst.prl.philips.nl) Centre for Software Technology ( or try: ...!mcvax!phigate!prle!cst!meulenbr)