Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!hao!oddjob!gargoyle!ihnp4!ihlpe!res From: res@ihlpe.ATT.COM (Rich Strebendt, AT&T-DSG @ Indian Hill West) Newsgroups: comp.arch Subject: Re: Approaches to computer system performance Summary: Another vote for the high level approach Keywords: Algorithms, Data structures, assembler, special purpose hardware Message-ID: <2568@ihlpe.ATT.COM> Date: 30 Jan 88 00:51:17 GMT References: <839@ima.ISC.COM> <2158@geac.UUCP> <604@bnr-rsc.UUCP> <3081@watcgl.waterloo.edu> Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 25 In article <3081@watcgl.waterloo.edu>, tbray@watsol.waterloo.edu (Tim Bray) writes: > The more years I build up in this > business, the more I come to believe that technical sidesteps like > assembler coding, special purpose hardware, and the like do not give > anything like the payback you get from careful attention to algorithms. I have been developing software for on the order of 20 years now. I agree completely with Tim. By polishing and tuning and assemblerizing and twiddling, you can get a fair bit of improvement. In order to get order-of-magnitude improvement you have to find a better algorithm, not more tweeks and tunes. As a case in point, I was asked to develop the on-board (burned in ROM) software for a tape controller. The goal was an order of magnitude increase in performance. The fundamental algorithm of the beast was rethought and a completely different approach was used than that used in the old controller. We got better than the order of magnitude improvement without one word of assembler. The software was written in C, and executes on a stock WE32100 microcomputer. So, if you need to get a big performance improvement in a program, do not dink with the code -- pitch it and rethink the algorithms. Rich Strebendt ...!ihnp4![iwsl6|ihlpe|ihaxa]!res