From owner-freebsd-stable@FreeBSD.ORG Mon Feb 10 15:03:57 2014 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 85B326AF for ; Mon, 10 Feb 2014 15:03:57 +0000 (UTC) Received: from wonkity.com (wonkity.com [67.158.26.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 36C751607 for ; Mon, 10 Feb 2014 15:03:57 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.8/8.14.8) with ESMTP id s1AF3lTg013786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 10 Feb 2014 08:03:47 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.8/8.14.8/Submit) with ESMTP id s1AF3lcG013783; Mon, 10 Feb 2014 08:03:47 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Mon, 10 Feb 2014 08:03:47 -0700 (MST) From: Warren Block To: Tim Daneliuk Subject: Re: And Here I Thought buildworld/makeworld Was IO Bound In-Reply-To: <52F84AF8.8050007@tundraware.com> Message-ID: References: <52F84AF8.8050007@tundraware.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (wonkity.com [127.0.0.1]); Mon, 10 Feb 2014 08:03:47 -0700 (MST) Cc: freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 15:03:57 -0000 On Sun, 9 Feb 2014, Tim Daneliuk wrote: > For some years now, I have been doing nightly builds of -STABLE > on an old Pentium D machine with 2G of memory. Buildworld + 2 > different kernels was taking in the neighborhood of 3 1/2 hours or so > to run. > > I then upgraded the Mobo/CPU to a Haswell Quadcore I5-4570 and, sure > enough, the build time for all the above came down to 30-35 mins or so. > > "So", says I, "I'll bet a faster drive would help considering all the > scribbling to the disk the compilers and makes do". So, I upgdared to > a Kingston SSD Now 300, 120G hard drive and he time to do the above > went down to .... wait, it's still about 30-35 mins ???? > > So, I've tried fiddling with different values for -j on the make > command line to little avail. Well, -j8 and -j16 show no real > difference here. > > So is the bounding function here actually CPU not IO? Am I missing > something? Yes, it mostly is CPU. Make sure you are running powerd on that i5, it enables turbo mode and gives a noticeable speed increase. Also, consider using -DNO_CLEAN, leaving all the untouched object files in place for make to find and skip. I've seen buildworld times under a minute with that on my i5 and SSD. There are downsides (uname is not always updated correctly), but removing /usr/obj every so often and starting from scratch will fix that.