Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jan 1996 04:56:56 -0800
From:      David Greenman <davidg@Root.COM>
To:        Greg Lehey <lehey.pad@sni.de>
Cc:        hackers@freebsd.org (Hackers; FreeBSD)
Subject:   Re: stanford benchmark/usenix 
Message-ID:  <199601221256.EAA14695@Root.COM>
In-Reply-To: Your message of "Mon, 22 Jan 1996 13:20:51 %2B0700." <199601221224.NAA10126@nixpbe.pdb.sni.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>    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?

   Certainly that's another way to do it, but it can be confusing to have lots
of different libraries around. I suppose you'd handle this by using a symlink
to point to the appropriately optimized version...and of course all of the
versions have to at least run on all of the processors (otherwise hardware
upgrades become very difficult and confusing (and bug-report generating!).
   I switch CPUs around enough here that it would be a small problem for me
personally, but I suppose it wouldn't be a problem for most people.

-DG

David Greenman
Core Team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601221256.EAA14695>