make -jn not necessarily helpful

Joseph Garcia bsd_usr at yahoo.com
Tue Mar 14 12:04:24 PST 2006


Justin C. Sherrill wrote:
Out of curiousity, I thought I'd try running make buildworld with the -j
option in a few different configurations to see what difference it made. 
I know it's supposed to speed up the process by a certain amount because
of the parallel processing, but there's no direct quantifier.

I put together a shell script that had this several times over

make clean
echo `date` >> /home/justin/benchmark.txt
echo 'make -j2 buildworld' >> /home/justin/benchmark.txt
make -j2 buildworld
echo `date` >> /home/justin/benchmark.txt
echo " " >> /home/justin/benchmark.txt
I did this with no -j, -j1, -j2, and -j3

Looking at the result: 1 hour 15 minutes 40-something seconds, every time,
no matter the -j setting.  This is on a 1.6G Celeron, with a PATA drive
and ~350M ram.  Would I see a difference if the CPU was faster and the
drive was slower?
If someone had some free CPU cycles to waste and could time a buildworld
as above, I'd be interested in the results.  I'd like to see under what
conditions the -j flag becomes useful or not useful, or if perhaps I'm
just missing something.
I know that you're just testing to see if -jN is any faster than 
without, but when building world on FreeBSD I have noticed that moving 
/usr/obj to a separate disk did seem to make things a bit faster. The 
last time I tried this was on a PII 233 with 2 SCSI controllers (each 
had on 4GB SCSI drive).

You're bottleneck might be the drive. That's theory is based on 
information in FreeBSD FAQ's and their Handbook.

Now that I think about it, I have moved those SCSI controllers to this 
Dfly box since I laid the PII 233 to rest. Here's the dmesg output on 
those SCSI controller (not that it's related, but just FYI):

sym0: <875> port 0x7c00-0x7cff mem 
0xec122000-0xec122fff,0xec121000-0xec1210ff irq 10 at device 9.0 on pci0
sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
sym1: <875> port 0x8000-0x80ff mem 
0xec125000-0xec125fff,0xec124000-0xec1240ff irq 5 at device 10.0 on pci0
sym1: No NVRAM, ID 7, Fast-20, SE, parity checking

* NOTE: That's very odd that not much information is being displayed. I 
believe under FreeBSD it at least tells me it's a Sym BIOS chipset and 
all that.

Anyway, I thought maybe if you were curious enough you can try to see if 
things speed up by moving /usr/obj to a different disk (SCSI or not).

Unfortunately, I don't have the hard results of my tests (since it was 
years ago) but maybe you can give it a whirl since you're being curious 
about buildworld performance.

Joey





More information about the Users mailing list