Skip site navigation (1)Skip section navigation (2)
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>