Date: Thu, 15 Feb 2001 00:24:21 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: bsd-alpha@boneyard.lawrence.ks.us (Stephen D. Spencer) Cc: wkb@freebie.demon.nl ('Wilko Bulte'), K.J.Koster@kpn.com (Koster K.J.), freebsd-alpha@FreeBSD.ORG Subject: Re: /usr/obj required space Message-ID: <200102150024.RAA09608@usr08.primenet.com> In-Reply-To: <Pine.BSF.4.10.10102140756320.16404-100000@madeline.boneyard.lawrence.ks.us> from "Stephen D. Spencer" at Feb 14, 2001 08:24:26 AM
next in thread | previous in thread | raw e-mail | index | archive | help
> Another factor in the Alpha's binary size is that it is a RISC. If you > take a look at the data sheet for the 21164, it has a rather small > instruction set consisting of relatively primitive instructions. > Though I have not yet read this document carefully, RISC instructions > historically tend to execute in no more the 4 clock cycles vs the more > complex instructions associated with CISC technology that can take > over 100 clock cycles to complete. In a nut shell, RISC chips require > more instructions to accomplish common tasks. More instructions will > yield larger binaries as well as the buffer and word size issues > that have already been mentioned. > > If you know any hard-core Macintosh users, ask them what happened to > the size of binaries and disk space/memory requirements during the > transition from the 68x000 -> PowerPC. Many binaries during that transition had CODE resources for both the PPC and the 68k, so that the program would run on the 68k, but run faster on the PPC (and not require 68k emulation: still faster, but slower than native code). For the Alpha, there's a significant amout of work compilers, particularly the Compaq compiler, go to, in order to ensure instructions are padded to alignment boundaries and are reordered in the pipeline, which can result in significant code bloat. This is really expected, since the trade off is to build code where some instructions take more than a single bus cycle to fetch (because they span such a boundary). This is one of the reasons the Compaq compiler produces code that is both somewhat larger, yet significantly faster, than the GCC generated code for the same source. Prefetch only works for branches that don't exceed an L1 cache entry in distance. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102150024.RAA09608>