From owner-freebsd-alpha Wed Feb 14 16:24:45 2001 Delivered-To: freebsd-alpha@freebsd.org Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (Postfix) with ESMTP id 77F6C37B401 for ; Wed, 14 Feb 2001 16:24:43 -0800 (PST) Received: (from daemon@localhost) by smtp03.primenet.com (8.9.3/8.9.3) id RAA03660; Wed, 14 Feb 2001 17:21:36 -0700 (MST) Received: from usr08.primenet.com(206.165.6.208) via SMTP by smtp03.primenet.com, id smtpdAAA3Oaqch; Wed Feb 14 17:21:28 2001 Received: (from tlambert@localhost) by usr08.primenet.com (8.8.5/8.8.5) id RAA09608; Wed, 14 Feb 2001 17:24:26 -0700 (MST) From: Terry Lambert Message-Id: <200102150024.RAA09608@usr08.primenet.com> Subject: Re: /usr/obj required space To: bsd-alpha@boneyard.lawrence.ks.us (Stephen D. Spencer) Date: Thu, 15 Feb 2001 00:24:21 +0000 (GMT) Cc: wkb@freebie.demon.nl ('Wilko Bulte'), K.J.Koster@kpn.com (Koster K.J.), freebsd-alpha@FreeBSD.ORG In-Reply-To: from "Stephen D. Spencer" at Feb 14, 2001 08:24:26 AM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > 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