From owner-freebsd-current@FreeBSD.ORG Sun Feb 8 00:44:01 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2DB0C16A4CE; Sun, 8 Feb 2004 00:44:01 -0800 (PST) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 941BA43D1F; Sun, 8 Feb 2004 00:44:00 -0800 (PST) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.10/8.12.10) with ESMTP id i188gxbj016216; Sun, 8 Feb 2004 09:42:59 +0100 (CET) (envelope-from phk@phk.freebsd.dk) To: David Schultz From: "Poul-Henning Kamp" In-Reply-To: Your message of "Sun, 08 Feb 2004 00:06:30 PST." <20040208080630.GA14364@VARK.homeunix.com> Date: Sun, 08 Feb 2004 09:42:59 +0100 Message-ID: <16215.1076229779@critter.freebsd.dk> cc: current@freebsd.org cc: tjr@freebsd.org cc: Jun Su Subject: Re: PID Allocator Performance Results (was: Re: [UPDATE] new pid alloc...) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Feb 2004 08:44:01 -0000 In message <20040208080630.GA14364@VARK.homeunix.com>, David Schultz writes: >I spent some time today benchmarking the various proposed pid >allocators. The full results, along with pretty pictures and a >more complete analysis, are at: > > http://people.freebsd.org/~das/pbench/pbench.html [1] You _do_ realize that the difference between "tjr" and "net" in the bottom plot is not statistically significant ? Stratification is visibly present from approx 1500 pids and up, and ends up being responsible for 1/3rd of the difference by the time you get to 5000 pids. (The tell-tale sign here is that the two data sets both fall on two mostly straight lines in a random looking pattern, with practically no measurements hitting the interval between the two lines.) If we assume the stratification has linearity with number of pids, which I think looks reasonable, and we read the right hand edge as half a second and the left hand edge as zero, we find: (.5 - 0) [second] -------------------------------------- = 10 [nsec] / [iteration*pid] 10000 [iterations] * (5000 - 0) [pids] 10nsec per operation is getting you into the territory of effective TSC-timecounter resolution, RAM access time, cache miss delays and all sorts of other hardware effects. So all in all, I would say that you have proven that "tjr" and "net" are better than "old", but not that there is any statistically significant performance difference between them. In that case, simplicity is a wonderful selection criteria, and I'll second your recommendation for "tjr" on that basis. Poul-Henning -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.