From owner-freebsd-performance@FreeBSD.ORG Sat Jun 28 11:13:34 2003 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0DDD337B401 for ; Sat, 28 Jun 2003 11:13:34 -0700 (PDT) Received: from out001.verizon.net (out001pub.verizon.net [206.46.170.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21A5A44017 for ; Sat, 28 Jun 2003 11:13:33 -0700 (PDT) (envelope-from cswiger@mac.com) Received: from mac.com ([141.149.47.46]) by out001.verizon.net (InterMail vM.5.01.05.33 201-253-122-126-133-20030313) with ESMTP id <20030628181332.XOZR12592.out001.verizon.net@mac.com>; Sat, 28 Jun 2003 13:13:32 -0500 Message-ID: <3EFDDACB.3080805@mac.com> Date: Sat, 28 Jun 2003 14:13:31 -0400 From: Chuck Swiger Organization: The Courts of Chaos User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030612 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "D. J. Bernstein" 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> In-Reply-To: <20030628065640.79231.qmail@cr.yp.to> X-Enigmail-Version: 0.76.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Authentication-Info: Submitted using SMTP AUTH at out001.verizon.net from [141.149.47.46] at Sat, 28 Jun 2003 13:13:31 -0500 cc: freebsd-performance@freebsd.org Subject: Re: ten thousand small processes X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jun 2003 18:13:34 -0000 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...