Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!gistdev!flint From: flint@gistdev.gist.com (Flint Pellett) Newsgroups: comp.software-eng Subject: Re: Effect of execution-speed on reliability/testing Message-ID: <1047@gistdev.gist.com> Date: 7 Jan 91 21:25:06 GMT References: <1990Dec19.102005.11830@engin.umich.edu> <470@eiffel.UUCP> Organization: Global Information Systems Technology Inc., Savoy, IL Lines: 42 >From <1990Dec19.102005.11830@engin.umich.edu> >by zarnuk@caen.engin.umich.edu (Paul Steven Mccarthy): >> Every textbook that I have read, and every software engineering professor >> that I have spoken with has emphasized the right-hand side of this graph, >> but they have all neglected the left-hand side. The impression that I >> have gotten from most professionals in the software trade is something >> like: "Speed isn't important. The hardware will speed up and take care >> of our inefficiencies." If there is someone who says they aren't concerned with efficiency of the algorithms, then I'd have to wonder how experienced that person is in the real world of business. I've noted two things: 1. In large multi-user systems, the power of the system often does not expand any faster than the demands on it do. (The day you double the power of the system is the same day the administrators decide that the system is capabable of supporting 2.0 times as many users at once. (Since income is often based on number of users, this is a natural reaction.) It is also the same day that the users discover that now they can run more programs at once, or more complex programs: the work the machine is asked to do expands to consume the power available.) It's a little like conserving gas: if you knew your gas supplies were always increasing, you might argue that nobody should care if all the cars made only get 12 miles per gallon. But if you try to increase the number of cars being run at once faster than the gas supply is increasing, you're headed for a shortage. If you're smart, you'll work on both ends: increasing the supply, (the cpu power available) and reducing the demand (the cpu power consumed by each program.) 2. You have to compete with the rest of the world. For example, if it takes you 3 days of computing to figure out what the weather is going to be like tomorrow, the results aren't useful at all. You then have two choices: wait until someone develops a machine that is 4 times faster that you can afford, or improve your algorithm so that it can produce results before they are obsolete. You won't stay in business very long if you decide to wait for better hardware when your competition is improving their algorithms. -- Flint Pellett, Global Information Systems Technology, Inc. 1800 Woodfield Drive, Savoy, IL 61874 (217) 352-1165 uunet!gistdev!flint or flint@gistdev.gist.com