Richard Harlos wrote:
....
> My refactoring eliminated redundant instances of code, shrinking the
> source file considerably.  I also implemented a rather straight-forward
> API so that this routine could be easily implemented generically rather
> than for just a few specific clients.
....
> Sadly, in almost every case the performance increase is significant.
> 
> Just my 2 cents, for what it's worth   :-)

I'll add another 2 cents to yours.

Refactoring and increasing the OO of nearly anything will increase the 
time.  Method calls are expensive, and so is object creation; as long as 
this is true, OO with minimal redundant code will always be slower than, 
say, procedural programming.

That said, speed isn't OO's strength: maintainability and reuse are.  And 
if you've got good design and style, it can be easier to understand code 
you haven't seen before.

-- 
 |..  "If the fundamentalists don't hate you, you have the wrong
<|>    lifestyle."
/|\   -- James Nicoll
/|    
 |