At 06:44 AM 10/11/2006, Jim, W4ATK wrote:
>Phil Covington wrote:
>
>"A lot of the perceived need for threading goes away when you get away from
>straight
>line procedural code."
>
>As an OLD machine language programmer, I am of the impression that "straight
>line" code increases the speed of the particular routine(s) avoiding those
>heavy far calls and the resultant stack operations. I think most optimizers
>that offer the choice of size and/or speed generate straight line objects as
>a means of increasing the speed..... Perhaps my rather ancient experience is
>mistaken....


True in most cases.  But, might be a case of optimizing for a 
resource which we have an excess of, by spending a resource we are short of.

In the PowerSDR case, there's an explicit decision to "spend some 
processor resources" to achieve a greater degree of abstraction, 
which makes the code easier to write, maintain, and keep compatible 
with the underlying OS.

Anytime you start using "clever code" to get around things that the 
OS doesn't do well (i.e. perceived slow implementation of some 
function), you run the risk of it being overtaken by events when the 
OS (or underlying assumptions which makes the clever code better) 
changes.  As Knuth said, don't tweak, find a better algorithm.

In the windows world, things that tend to be big resource hogs 
(graphics drawing) are also things that lots of developers (those 
that carry more dollar clout than us) want to go fast, so MS tends to 
spend time making it better (along with things that we'd rather they 
not spend time on.. Windows Guaranteed Advantage and Plays For Sure, 
for instance).  In any event, architecture design and coding in a 
style which matches the preferred windows conceptual model (an 
admittedly shifting paradigm, but it changes fairly slowly, with a 
period of about 2-3 years) is more likely to "port" to next Windows 
version.  And, I think MS is listening to the screams of developers 
(especially those in big shops).  MS really does want to enlarge 
their hegemony for applications, and making life easier for 
developers is a way to do that.

It's sort of like *good* optimizing compilers do a better job, most 
of the time, than the average coder does (or, even, better than the 
good coders do), especially when it comes to making use of arcane OS 
features.  Yes, on any given little piece of code, you might be able 
to hand tune it, but we also don't have infinite people resources to 
throw at the problem, so giving up some small amount of efficiency 
(which is cheap, in at least one sense) in order to make effective 
use of our truly scarce resource (people doing code) is probably a good trade.

Jim 



_______________________________________________
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Homepage: http://www.flex-radio.com

Reply via email to