From owner-freebsd-current Sat Apr 19 02:44:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id CAA06296 for current-outgoing; Sat, 19 Apr 1997 02:44:47 -0700 (PDT) Received: from dfw-ix7.ix.netcom.com (dfw-ix7.ix.netcom.com [206.214.98.7]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id CAA06291 for ; Sat, 19 Apr 1997 02:44:40 -0700 (PDT) Received: (from smap@localhost) by dfw-ix7.ix.netcom.com (8.8.4/8.8.4) id EAA18622; Sat, 19 Apr 1997 04:43:58 -0500 (CDT) Received: from sjx-ca35-05.ix.netcom.com(204.31.236.133) by dfw-ix7.ix.netcom.com via smap (V1.3) id sma018620; Sat Apr 19 04:43:34 1997 Received: (from asami@localhost) by blimp.mimi.com (8.8.5/8.6.9) id CAA01401; Sat, 19 Apr 1997 02:43:32 -0700 (PDT) Date: Sat, 19 Apr 1997 02:43:32 -0700 (PDT) Message-Id: <199704190943.CAA01401@blimp.mimi.com> To: imp@village.org CC: current@freebsd.org In-reply-to: (message from Warner Losh on Fri, 18 Apr 1997 13:16:41 -0600) Subject: Re: Speed deamons: How to build a build box? From: asami@vader.cs.berkeley.edu (Satoshi Asami) Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk As far as I know, the time for a make world (or any large compilation) is spend in (a) disk seeks and (b) CPU. Since people have already commented on your on-board controller and such, I'll just add a few points. * 3) Buy a faster disk, ultrawide scsi 7200 or faster disk. Get as many small and fast disks as you can. 7200 RPM 2GB disks would be great, not because they are 7200 RPM (you don't need sequential bandwidth for compilation) but because they seek faster than the 5400 or 4500 RPM drives. 2GB Atlas I's are selling around $500 now (if you can find them). Lay out your partitions carefully. Remember, having things on multiple disks won't help a bit if you have one process (cpp) waiting for random seeks all over the disk surface. Make your necessary partitions small, so for instance if you have two disks, lay them out like this: disk1 / swap /var /usr /usr/src /rest1 disk2 /(backup) swap /usr/obj /rest2 Put your home directories and stuff on /rest1 and /rest2, and make the other filesystems as small as possible. That way the head will have to seek only the first quarter of each disk (or something like that). That way you can also mount /usr/src and /usr/obj async without worrying too much. Also, if you can have multiple outstanding reads, you should be able to profit from the additional spindles. Does "make -j3 world" work now? * 4) Overclock the 180 to 200 or 233 (I have a good heat sink and fan) That will definitely help. When I went from 200 to 233, the make world time improved by 10%, even with nothing mounted async. Since your 180 -> 200 includes a memory/IO bus speedup, it is even nicer. * 5) Get a second scsi bus A single SCSI bus/controller can support a great number of random accesses. (But if your on-board controller is not on par with expansion slot counterparts, of course it will help.) Satoshi