Re: Are these all really true ?

Jeremy Carroll <jjc@hplb.hpl.hp.com>
Fri, 29 Sep 1995 19:53:36 GMT

          From comp.compilers

Related articles
[15 earlier articles]
Re: Are these all really true ? cdg@nullstone.com (1995-09-26)
Re: Are these all really true ? ludemann@expernet.com (1995-09-27)
Re: Are these all really true ? J.Biddiscombe@rl.ac.uk (The Lord of Darkness) (1995-09-27)
Re: Are these all really true ? ok@cs.rmit.edu.au (1995-09-28)
Re: Are these all really true ? finger@convex.convex.com (1995-09-28)
Re: Are these all really true ? bates@salsv3.boeing.com (Rodney Bates) (1995-10-03)
Re: Are these all really true ? jjc@hplb.hpl.hp.com (Jeremy Carroll) (1995-09-29)
Re: Are these all really true ? stefan.monnier@epfl.ch (Stefan Monnier) (1995-10-02)
Re: Are these all really true ? scott@infoadv.mn.org (Scott Nicol) (1995-10-02)
Re: Are these all really true ? anton@complang.tuwien.ac.at (1995-10-02)
Re: Are these all really true ? ok@cs.rmit.edu.au (1995-10-03)
Re: Are these all really true ? preston@tera.com (1995-10-16)
Re: Are these all really true ? bill@amber.ssd.hcsc.com (1995-10-04)
[2 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Keywords: design
Organization: Hewlett-Packard Laboratories, Bristol, England
References: 95-09-076 95-09-108
Date: Fri, 29 Sep 1995 19:53:36 GMT

>>===== ACADEMIC ASSUMPTIONS - ARE THESE ALL REALLY TRUE ? ======
>>* Performance is a language problem.


In one project I worked on the correct choice of language had a huge
impact on performance. It was a system for configuration of computer
hardware and customer order creation. There were two totally
independent teams working on it. One team, the one I was on, was
using a slow interpreted Prolog on a 386 (it was a few years ago),
complete with a DDE link to the GUI, written in Toolbook (a bit like
visual basic). The other team was using C++ on a dedicated fast
multiprocessor Unix machine. For this particular problem the key
difficulty was getting an algorithm that had the right complexity.


The choice of Prolog allowed us to experiment with algorithms and
concentrate our design effort (always finite) on that aspect of the
problem. Our algorithm was near-linear and gave responses in a few
seconds to appropriate test problems. Within C++ the language
required the team to spend their design effort on e.g. data
abstraction, or creating a symbol table. These problems were not of
central importance and their algorithm sucked, with exponential
complexity. Similar test problems took hours with much more
expensive hardware.


This account assumes a rapid prototyping approach to design, which
IMHO is a must when tackling a problem for which the answer isn't
known in advance.


Maybe it will be suggested that my account shows that we are talking
about an algorithm issue, but algorithms are influenced by the tools
available. Different lanaguages really do support different ways of
thinking, fundamentally different ways of tackling the same problem.
Use the right tool for the job.




Jeremy Carroll
HP Labs, Bristol


jjc@hplb.hpl.hp.com
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.