From owner-freebsd-arch@FreeBSD.ORG Mon Jul 9 18:10:21 2007 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F08F616A400 for ; Mon, 9 Jul 2007 18:10:21 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id B2C1713C458 for ; Mon, 9 Jul 2007 18:10:21 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.107] (c-71-231-138-78.hsd1.or.comcast.net [71.231.138.78]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id l69IAGLD089906 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Mon, 9 Jul 2007 14:10:18 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Sun, 8 Jul 2007 15:00:28 -0700 (PDT) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: Diane Bruce In-Reply-To: <20070709004640.GA61639@night.db.net> Message-ID: <20070708145900.Y537@10.0.0.1> References: <20070709004640.GA61639@night.db.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-arch@freebsd.org Subject: Re: select timings X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2007 18:10:22 -0000 On Sun, 8 Jul 2007, Diane Bruce wrote: > Hi, > > It is a rather naive test program, close all fd's except > for 0,1,2 of course, then open /dev/null multiple times, then do > a select() on each descriptor. ~db/selt.c I should mention that select2.diff embeds a selfd in each selinfo which means that with no collision we avoid malloc(). selfd is the structure that is allocated for each file descriptor by each thread that is selecting. select.diff allocates them on demand every time. The first select is slower as we have to fill the uma cache but after that it's remarkably faster. Thanks, Jeff > > Each fd "fires" so select() goes through each bit. > > First two tests are with STOCK -7 kernel > > STOCK > MAXFD = 1024 > > ./selt > First select 0 4052 > Second select 0 4011 > dark# ./selt > First select 0 4037 > Second select 0 3991 > dark# ./selt > First select 0 4006 > Second select 0 4018 > dark# ./selt > First select 0 4008 > Second select 0 4583 > dark# ./selt > First select 0 4041 > Second select 0 4012 > > MAXFD 8192 > > dark# ./selt > First select 0 28736 > Second select 0 28607 > dark# ./selt > First select 0 28655 > Second select 0 28641 > dark# ./selt > First select 0 28629 > Second select 0 28592 > dark# ./selt > First select 0 28890 > Second select 0 29189 > dark# ./selt > First select 0 28629 > Second select 0 28963 > dark# ./selt > First select 0 28960 > Second select 0 28593 > dark# ./selt > First select 0 28622 > Second select 0 28689 > > With Jeffr select2.diff > MAXFD 8192 > ./selt > First select 30328 > Second select 0 30375 > dark% ./selt > First select 0 30423 > Second select 0 30214 > dark% ./selt > First select 0 30444 > Second select 0 30200 > dark% ./selt > First select 0 30362 > Second select 0 30797 > dark% ./selt > First select 0 30372 > Second select 0 30365 > > Using Jeffr's original select.diff > > with 8192 fds > First select 0 30738 > Second select 0 28906 > dark% ./selt > First select 0 29242 > Second select 0 28880 > dark% ./selt > First select 0 28612 > Second select 0 28684 > dark% ./selt > First select 0 28617 > Second select 0 28709 > dark% ./selt > First select 0 28926 > Second select 0 28784 > > with 1024 fds > ./selt > First select 0 4056 > Second select 0 4063 > dark# ./selt > First select 0 4297 > Second select 0 4163 > dark# ./selt > First select 0 4101 > Second select 0 4728 > dark# ./selt > First select 0 4137 > Second select 0 4218 > dark# ./selt > First select 0 4034 > Second select 0 4036 > dark# ./selt > First select 0 4075 > Second select 0 4062 > > I will be trying some other select tests. > I suspect with a sparse fd_set, jeffr's results will be better than stock. > We'll see. > > - Diane > -- > - db@FreeBSD.org db@db.net http://www.db.net/~db > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" >