[nycbug-talk] make -jN performance
Pete Wright
pete
Thu Jan 20 18:28:20 EST 2005
On Thu, Jan 20, 2005 at 02:45:11PM -0500, Bob Ippolito wrote:
>
> On Jan 20, 2005, at 11:59, Isaac Levy wrote:
>
> >Hey All,
> >
> >On Jan 19, 2005, at 5:34 PM, Pete Wright wrote:
> >
> >>hmm...then it looks like I should submit a PR to the doc team
> >>then...well
> >>atleast it was an interesting exercise :)
> >>
> >>-pete
> >
> >Yeah- I wanted to pipe in quicklike with this one with some
> >super-crude test results,
> >
> >Basically I've been compiling a lot of FreeBSD jails lately, so what
> >the hey, I've thrown in some -j flags informally to see what happens,
> >here's my results:
> >
> >--
> >Single CPU (crufty old office 800mhz PIII):
> >
> >- No flags, make world takes 49 min average.
> >- j2, j4, j6, j10, all take 50 min average.
> >
> >--
> >Dual CPU (new-ish Dual Xeon 2.6mhz, under other server load):
> >
> >- No flags, make world takes 22 min average.
> >
> >- j2, j4, j6, j10, all take about 12 min average. (NICE.)
> >
> >
> >
> >--
> >Lots of other stuff could affect my results here, but in a nutshell,
> >it seems that the j flag has no effect unless there's more than 1
> >processor.
> >
> >That stated, I'd think that in my scripted jail-build stuff, it would
> >be worth my time to throw a -j4 flag in there, as it doesn't seem to
> >hurt much, and what the hey- the systems may port to 4 cpu machines in
> >the not-too-distant future...
>
> You should have some way to detect the number of CPUs in the build
> system. I don't know how to do this with FreeBSD, but on Mac OS X (any
> Darwin) you would do the following:
>
> make -j`sysctl -n hw.ncpu`
>
> I wouldn't recommend just guessing -j4. Most people don't have 4 way
> systems, there is no gain (as you two have proven empirically) if you
> have less than 4 cpus, and in some cases people are using distcc. I
> don't know how common this is for FreeBSD, but it can happen often on
> Mac OS X because it's so damn easy to setup (a checkbox in Xcode
> preferences per machine). I would recommend something equivalent to
> the above by default, but make a special note for distcc users. If I
> have 16 cpus on my network, all running distcc, then I would want "make
> CC=distcc -j16". I don't think there's a quick and dirty way to get
> the number of CPUs available for distcc.
>
ok to wrap this thread up, i've submitted a PR with freebsd-doc@ as PR#
docs/76515
-pete
--
~~oO00Oo~~
Peter Wright
pete at nomadlogic.org
www.nomadlogic.org/~pete
917.415.9866
More information about the talk
mailing list