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