Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!elephant.cis.ohio-state.edu!weide From: weide@elephant.cis.ohio-state.edu (Bruce Weide) Newsgroups: comp.sw.components Subject: Re: Abstraction vs. optimization? Message-ID: <51097@tut.cis.ohio-state.edu> Date: 5 Jun 89 19:45:18 GMT References: <7037@cbmvax.UUCP> <5667@hubcap.clemson.edu> Sender: news@tut.cis.ohio-state.edu Reply-To: Bruce Weide Organization: Ohio State University Computer and Information Science Lines: 34 If there is to be a "reusable components" cottage industry, probably many components will only be available as specifications plus runnable code in object form. This suggests that source-level optimizations that cross package/module boundaries may be of relatively little use. What, then, can be done about the (apparent) inefficiency of reusable components? The above argument suggests we should concentrate on designing abstract reusable components which at least permit efficient implementations, and then try to build very efficient realizations of these abstract components. Performance trade-offs among different operations of the same component are inevitable, so we'll need to allow multiple implementations of the same abstraction to give the client programmer a choice of performance alternatives. And perhaps we should concentrate on, say, advances in run-time system design and in architectures so that genericity and the like do not introduce additional run-time overheads and so procedure calls are much faster. These might be more productive approaches for the long term than ever more complex compiler tricks whose effectiveness would be thwarted if reusability actually became a reality. -Bruce ------ Prof. Bruce W. Weide Dept. of Computer and Information Science The Ohio State University 2036 Neil Ave. Mall Columbus, Ohio 43210-1277 USA Phone: 614-292-1517 E-mail: weide@cis.ohio-state.edu