Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!cimshop!davidm From: cimshop!davidm@uunet.UU.NET (David S. Masterson) Newsgroups: comp.object Subject: Re: Performance & Functionality Message-ID: Date: 25 Oct 89 17:02:40 GMT References: <27.UUL1.3#913@acw.UUCP> Sender: davidm@cimshop.UUCP Organization: Consilium Inc., Mountain View, California. Lines: 39 In-reply-to: guthery@acw.UUCP's message of 24 Oct 89 05:07:56 GMT In article <27.UUL1.3#913@acw.UUCP> guthery@acw.UUCP (Scott Guthery) writes: Functionality first and performance at the end is wrong. If you care about performance then you should design it in not hack it in. Furthermore, you might avoid the situation where the design you've implemented simply can't be whipped up to speed. If all you want is as fast as possible, then by all means profile and stomp on the hot spots. But if you have a performance bogey, then you'd better care quantitatively from the start. Consider the situation where all the hot spots are gone, the profile is flat, and it's still not fast enough. How now, brown cow? This type of performance stricture should only be applied in the development of a particular system, not in the development of an application. The difference between application and system is that typically an application is seeking to solve a problem whereas a system is an mechanism to be used in implementing a solution to a problem, but in and of itself is not the solution. In the development of an application, the hard part is usually finding the solution to the problem, performance can be cleaned up later (it is never completely out of consideration, but certain stages of development have other priorities). In the case of application development, the thrust should be on the development of a model for the application that shows a complete, clear, and concise method of solution for the problem. Design of this model (*by definition*) should take into account the requirements of functionality and performance. My contention is that once development of this model is complete and there is an implementation of the application, performance and functionality for the application will be adequate, if not necessarily acceptable. At that point, system development can begin to find a better mechanism for implementing the application model. -- =================================================================== David Masterson Consilium, Inc. uunet!cimshop!davidm Mt. View, CA 94043 =================================================================== "Nobody here but us chickens..."