Date: Mon, 22 Jan 96 13:20:51 MET From: Greg Lehey <lehey.pad@sni.de> To: davidg@Root.COM Cc: hackers@freebsd.org (Hackers; FreeBSD) Subject: Re: stanford benchmark/usenix Message-ID: <199601221224.NAA10132@nixpbe.pdb.sni.de> In-Reply-To: <199601221021.CAA14236@Root.COM>; from "David Greenman" at Jan 22, 96 2:21 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > >>>> David Greenman said: > > > >Do we have pentium optimized bcopy and bzero ? > > > > > > > >Because some of the benchmarks could clearly benefit from them. > > > > > > After reading the Usenix paper on OS performance on Pentium machines, I'm > > > inclined to add optimized code to our libc. Basically, get the processor typ > > e > > > (probably via sysctl) and use this to control which versions are called - > > > similar to what I recently did with bzero in the kernel. > > > ...This is fairly low priority, however, so won't likely happen for a few > > > months. > > > >Gosh, do I see an open invitation or what ? 8) > > I didn't intend to suggest one, but if you or someone else decides to do > this, bare in mind that there is definately many 'wrong ways' to do this. We > don't want a plethora of "if (cpu_class == FOO)" type of things in libc as it > reduces performance for small operations. I think the way to do it is to jump > through a function vector that is initialized by default to a generic function. > The function vector can then be changed to an optimized function for specific > CPU types. This would happen at some convenient place before program startup, > or perhaps in the generic function (which could, perhaps, be a stub whose sole > purpose is to select the appropriate routine, or fall back to a generic one). > I really don't want to get into this in more detail right now - I don't have > the time and in the end it would be easier to just sit down and code it. If > you think you know how to implement this correctly, then by all means, go for > it! Wouldn't it make more sense to have separate libraries for each processor type, and to install the appropriate versions? Greg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601221224.NAA10132>