Date: Wed, 3 Mar 2004 14:41:01 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Garance A Drosihn <drosih@rpi.edu> Cc: Robert Watson <rwatson@freebsd.org> Subject: Re: buildworld times Message-ID: <20040303140104.F5143@gamplex.bde.org> In-Reply-To: <p060204aabc6abc525212@[128.113.24.47]> References: <Pine.NEB.3.96L.1040302170953.4906F-100000@fledge.watson.org> <p060204aabc6abc525212@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2 Mar 2004, Garance A Drosihn wrote: > At 5:18 PM -0500 3/2/04, Robert Watson wrote: > >On Wed, 3 Mar 2004, Bruce Evans wrote: > > > > >> > (2) If we reran these tests with 5.2-CURRENT, how would the numbers > >> > change? > >> > >> I would be surprised if they changed much. buildworld is mostly a gcc > >> cpu hog benchmark, and about the only significant thing the kernel can > >> do to speed up gcc is to reduce its memory contention. > > > >Interestingly, on the same hardware using 5.2-CURRENT GENERIC - WITNESS, > >INVARIANTS, et al (with ULE since that's the default now): > > > > Real User Sys > >default 2304.16 1834.51 474.96 # slower indentometer: |- >|- >|- >|- >|- >|- >|- >|- >|- >| > >-j 2 1611.61 2715.89 684.97 # faster! > >-j 4 1416.11 2988.32 878.40 # faster! > >-j 6 1399.92 3090.95 955.74 # fastest! > >-j 8 1405.38 3151.92 1003.69 # fasterish! > > > >Note that this was a 5.2.1 source tree built on a 5.2-current system, so > >isn't a perfect comparison. I should have used a 5.2.1-current world > >changing out only the kernel. > > When did the change to make go in? That would probably result in > a difference in speed, especially for -j builds. The change to add > a SIGCHLD handler... > > Bah, I can look it up as much as anyone else can. From > http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/make/main.c > > it looks like that change went in right after 5.2-release. So > that is probably a part of what you're seeing. Yes, I forgot that des committed my quick fix for -j. All benchmarks involving make -j were invalid before this change. IIRC, fixing this speeded up make -j4 on a UP system by about 15%, so it was only 0.5% slower than make without -j. I would have thought that the bug cost much less on SMP systems, because with real parallelism there is more chance of at least one of the makes not sleeping. However, it costs more with It's interesting that the -j6 case has almost caught up with my best buildworld time 2 years ago. It's still a fair way behind since it doesn't do installworld (or profiling libraries IIRC). %%% [configuration not carefully recorded... Athlon XP1600 overclocked 512MB... and of course current sources at the time of the run... installworld goes to an async mounted temporary partition so it doesn't take very long] -------------------------------------------------------------- >>> elf make world completed on Fri Jan 4 00:00:15 EST 2002 (started on Thu Jan 3 23:37:04 EST 2002) -------------------------------------------------------------- 1390.18 real 913.56 user 232.63 sys 13076 maximum resident set size 1093 average shared memory size 1205 average unshared data size 129 average unshared stack size 9055054 page reclaims 21976 page faults 0 swaps 31885 block input operations 4960 block output operations 0 messages sent 0 messages received 4 signals received 346041 voluntary context switches 423794 involuntary context switches %%% Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040303140104.F5143>