Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!ukc!dcl-cs!aber-cs!pcg From: pcg@aber-cs.UUCP (Piercarlo Grandi) Newsgroups: comp.arch Subject: Re: 80486 vs. 68040 code size Summary: Compare .o files... Message-ID: <902@aber-cs.UUCP> Date: 2 May 89 21:45:11 GMT Reply-To: pcg@cs.aber.ac.uk (Piercarlo Grandi) Distribution: eunet,world Organization: Dept of CS, UCW Aberystwyth (Disclaimer: my statements are purely personal) Lines: 33 In article <13718@steinmetz.ge.com> davidsen@crdos1.UUCP (bill davidsen) writes: This totally mystifies me. Did someone bring in some MS-DOS figures? My figures were clearly for Xenix, and I clearly stated the versions and stuff (I think the info was quoted and appears above). But the comparisons you made may still be apple vs. oranges... I have the strong suspicion that you compared executable sizes, which tipically include libraries that are very different. For example, stdio with/without printf is very different between SunOS and System5/386. Also, you have shared libraries in some systems (SunOS 4, Unix 5.3), and not in others. There are many other factors that influence executable size; e.g. SunOS uses 8k buffers for stdin/stdout, etc... The comparison ought to be made between the .o files of fairly large modules. As to this, my impression is that 386 objects are a bit smaller than 68020 objects, thanks to many common 386 instructions being short (as somebody correctly remarked about unorthogonality). I would venture to say (base on a very small sample) that 386 code is about 5-10% smaller than 68020 code. Both compilers used are highly optimizing. Byt the way, both the 386 and the 68020 (which are supposedly very similar to the 486 and 68040) use linear 32 bit addresses (virtually nobody uses the 48 bit pointer large model of the 386), so this is not a factor. The 68020 has more registers than the 386, but this ought to count for little, as according to literature the knee of the curve for C is before or at 4 registers (important note: for typical Unix utilities, e.g. excluding floating point) because of the average simplicity of C expressions. -- Piercarlo "Peter" Grandi | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk Dept of CS, UCW Aberystwyth | UUCP: ...!mcvax!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk