Re: Beginner's Question...

John Lilley <jlilley@empathy.com>
16 Jan 1997 20:11:53 -0500

          From comp.compilers

Related articles
Beginner's Question... mihai@A-aod.resnet.ucsb.edu (Mihai Christodorescu) (1997-01-16)
Re: Beginner's Question... salomon@silver.cs.umanitoba.ca (1997-01-16)
Re: Beginner's Question... jlilley@empathy.com (John Lilley) (1997-01-16)
Re: Beginner's Question... edi-c@algonet.se (Kurt Svensson) (1997-01-17)
Re: Beginner's Question... will@ccs.neu.edu (William D Clinger) (1997-01-17)
Re: Beginner's Question... jlilley@empathy.com (John Lilley) (1997-01-19)
| List of all articles for this month |

From: John Lilley <jlilley@empathy.com>
Newsgroups: comp.compilers
Date: 16 Jan 1997 20:11:53 -0500
Organization: Nerds for Hire, Inc.
References: 97-01-122
Keywords: parse, performance

Mihai Christodorescu wrote:


> I have noticed the discussion comes back almost always to how
> (time-)efficient is the parser (and maybe the rest of the compiling
> steps except for the code generator).
> Is this problem a real problem in compiler theory and compiler making?
> Why?


It's more a matter of economics than theory. High-level languages are
productivity tools for programmers. They are more productive than
lower-level languages because presumably a given task can be completed
more quickly and with higher quality. To the extent that a compiler
is too slow, the productivity of the tool is diminished because the
time of the modify/compile/debug cycle is lengthened. There are large
projects I have seen that require an all-night build of the system on
an eight-processor UNIX box. If the compiler were merely three times
slower, then the time to build the system would be prohibitive,
because it would have to be run for an entire day, which would
preclude running the full-build on the same computer that the
declopers use, which would mean spending another $200k on a separate
build machine. So yes, speed is important.


Compiler speed is also a technology enabler. When the compile cycle
for a particular language becomes small, then the extra time can be
used to increase the productivity of the compiler, such as by
performing additional static error checks, inter-module dataflow
analysis, additional optimization, etc. Or, once the compile cycle
becomes fast enough, pressure may mount to increase the power and
expressiveness of the language itself, which usually means more work
for the compiler.


john lilley
--


Post a followup to this message

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