On Thu, Jan 24, 2013 at 05:34:52PM +0100, Paulo Pinto wrote: > Am 24.01.2013 11:20, schrieb Walter Bright: > >On 1/23/2013 9:10 PM, Era Scarecrow wrote: > >> I remember doing things like that. If I was dividing something by > >> 8 I would shift right instead by 3; > > > >Compilers were doing that optimization 35 years ago, and probably > >decades longer than that. > > > >Generally, if you're thinking about doing an optimization, it pays to > >check the output of the compiler, as it has probably beaten you to it > >:-) > > > It helps to have a broader experience in many languages. > > I think C only developers tend to suffer from premature optimization > disease. :) [...]
I remember being actually offended when I read about premature optimization. I felt insulted at the idea that my hand-written code could actually underperform what the compiler mechanically produces. Too bad it's actually true. :-P I later learned that my obsession with premature optimization distracted me from actually thinking about the algorithms, so that I was spending 90% of my time optimizing the last CPU cycles out of an O(N^2) algorithm when even a poorly-written O(log N) algorithm would have easily outperformed my "optimized" code. Not to mention the humiliation of discovering, when I actually profiled my code, that the hotspots were nowhere near where I thought they were. I had spent 90% of my time "optimizing" for a <1% gain, when a simple algorithm fix at the real hotspot gained 20% instantly. T -- MSDOS = MicroSoft's Denial Of Service
