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>