Date: Mon, 22 Aug 2005 15:32:22 +0200 From: des@des.no (=?iso-8859-1?q?Dag-Erling_Sm=F8rgrav?=) To: Alexey Dokuchaev <danfe@FreeBSD.org> Cc: arch@freebsd.org Subject: Re: fdesc allocation optimization Message-ID: <863bp25c7t.fsf@xps.des.no> In-Reply-To: <20050822100059.GA24626@FreeBSD.org> (Alexey Dokuchaev's message of "Mon, 22 Aug 2005 10:00:59 %2B0000") References: <20050822100059.GA24626@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexey Dokuchaev <danfe@FreeBSD.org> writes: > i've been browsing some of dfbsd resources recently, and found this one > being pretty interesting: > > http://leaf.dragonflybsd.org/mailarchive/commits/2005-06/msg00526.html > > however, it seemingly did not get attention in our lists. so i am > wondering if there are work/plans on porting hsu@'s work? i remember > that at some point we adopted some openbsd-derived algorithm, but since > matt states that this is "far better algorithm then anything we or > freebsd thought up before", i figured it worth a look. Bollocks. Our current algorithm (which I wrote) is so fast you don't even notice it's there. It's actually simpler than the OpenBSD code from which it was inspired, and in theory it should be slower, but I discovered that the overhead of the "better" algorithm was so high that it consistently lost to the simpler one for reasonable amounts of file descriptors (up to about 100,000 per process). The source code for the microbenchmark I used, and selected graphs comparing my code to the previous implementation, are available at <URL:http://people.freebsd.org/~des/fdbench/>. (the strange artifacts you see on the red graphs are the result of the file descriptor table overrunning the CPU cache) DES --=20 Dag-Erling Sm=F8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?863bp25c7t.fsf>