Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jun 2003 14:13:31 -0400
From:      Chuck Swiger <cswiger@mac.com>
To:        "D. J. Bernstein" <djb@cr.yp.to>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: ten thousand small processes
Message-ID:  <3EFDDACB.3080805@mac.com>
In-Reply-To: <20030628065640.79231.qmail@cr.yp.to>
References:  <20030626025029.71392.qmail@cr.yp.to> <200306260515.h5Q5FhPF020045@bitblocks.com> <20030626212659.51367.qmail@cr.yp.to> <3EFB6B75.3000705@mac.com> <20030628065640.79231.qmail@cr.yp.to>

next in thread | previous in thread | raw e-mail | index | archive | help
D. J. Bernstein wrote:
> Chuck Swiger writes:
>> If you'd like to implement your suggested changes, generate a patch 
>> (preferably via 'diff -duw'), you may either submit it as a PR via the 
>> 'send-pr' command, or you can post it to this list.  It would be nice if 
>> you performed some regression testing to confirm that your change works and 
>> is beneficial not just for your specific circumstances, but for the general 
>> case as well.
> 
> Does FreeBSD have a suite of regression tests and speed tests, or would
> I have to make them up as I go along?

The FreeBSD makefile system will pass "make test" or "make check" to software 
components which include such regression tests: that would apply to most of the 
GNU stuff in /usr/src/gnu/*/* and anything in the ports collection which you're 
familiar with.  Timing the regression tests for gawk, flex, perl, python, etc 
would make a good starting point.

A significantly more expensive regression test would be to follow the 
instructions in "man release" against RELENG_4_8_0_RELEASE with MAKE_ISOS 
enabled, and see whether the md5 checksums match.  Should be yes, this is just a 
preliminary step to verify that you can run the system-wide self-hosted build 
and reproduce a known-valid result.  And time this, if you please, say via 
"nohup time make release RELEASETAG=RELENG_4_8_0_RELEASE ... "

Lather, rinse, repeat, only this time point "make release" against a CVS 
repository containing your change and see whether your modified version of 
malloc works in the sense that the build creates a working version of FreeBSD 
that you can burn to CD and install from, presumably with all file checksums 
except /usr/lib/libc.* identical?  (ISO md5's won't match due to that.)

Also see whether the build goes faster, which would indicate that the change to 
malloc() had a net positive effect over the set of small command-line utilities 
like sh, make, cc, awk, sed, etc...things which more closely resemble the 
Subject header of this thread than, say, Mozilla, emacs, X window managers, etc.

-- 
-Chuck

PS: "make release" will involve probably 20-40 hours of CPU time and probably 10 
GB of free space, but a change to something as critical as malloc() means that 
someone is going to perform the full regression.  Or so I would expect...




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3EFDDACB.3080805>