On Fri, 17 Apr 2009 22:26:32 -0700, norseman wrote: > The > average programmer, who takes a moment to think it out,
"A moment"? As in, a second or less? > can out optimize > all but the best commercial compilers. The meticulous individual can > usually match or best the best commercials with fewer 'iterations' of > review when using assembly. That might have been true in the 1970s and 80s, but it hasn't been true for 10-20 years now. The best machine-optimized code is significantly better than the best human beings can do today, and even free optimizing compilers can do better than most people. However, human programmers can, sometimes, hand-optimize the output of the optimizing compiler in order to gain a slight upper-hand. To paraphrase Charles Fiterman, the human should always win, because the human can use the machine, but the machine can't use the human. http://www.linux.com/base/ldp/howto/Assembly-HOWTO/howtonot.html > Since one is already looking at the > registers and addresses, self optimization is simple. If only modern day programming was that simple. The interaction with modern CPU makes optimization an order of magnitude harder than it was back in the days of hand-tuned assembly. I quote from the above link: "The biggest problems on modern architectures with fast processors are due to delays from memory access, cache-misses, TLB-misses, and page- faults; register optimization becomes useless, and you'll more profitably re-think data structures and threading to achieve better locality in memory access." Toto-I-don't-think-we're-in-1975-anymore-ly y'rs, -- Steven -- http://mail.python.org/mailman/listinfo/python-list