|Code Opt. in One-pass Compilation firstname.lastname@example.org (1996-07-24)|
|Re: Code Opt. in One-pass Compilation email@example.com (Tom Hawker) (1996-07-26)|
|Re: Code Opt. in One-pass Compilation firstname.lastname@example.org (1996-07-27)|
|Re: Code Opt. in One-pass Compilation email@example.com (1996-07-31)|
|Re: Code Opt. in One-pass Compilation firstname.lastname@example.org (1996-08-04)|
|Re: Code Opt. in One-pass Compilation email@example.com (Henry Spencer) (1996-08-09)|
|From:||Henry Spencer <firstname.lastname@example.org>|
|Date:||9 Aug 1996 14:04:58 -0400|
|Organization:||SP Systems, Toronto|
|References:||96-07-187 96-07-192 96-08-015|
email@example.com (Peter Froehlich) writes:
>...it's still small and fast when compared to compilers for
>languages like C or ADA. This is mainly because of the language design
>(IMHO) but also because they use resources quite economically.
I think it's worth expanding on this last a bit. The most important issue
in making compilers fast is not language design or intermediate forms or
genius implementors -- it's concern for performance. Actually, this
generalizes to almost all software. As Geoff Collyer and I wrote ten
years ago: "Programs will seldom run faster unless you care about making
them run faster."
The overwhelming majority of today's software is slow simply because its
implementors didn't care. The techniques of performance engineering are
not widely known, but most of them are not exactly rocket science -- you
just have to think hard about how to make things faster. Few people do;
the average piece of "mature" software can be sped up by amazing amounts
if someone makes a determined effort.
For background on performance engineering, I suggest Jon Bentley's
"Writing Efficient Programs" (Prentice-Hall, 1982) and Collyer&Spencer's
"News Need Not Be Slow" (Winter 1987 Usenix Conference Proceedings).
(Other references welcome; those were just the two that came to mind.)
| Henry Spencer
Return to the
Search the comp.compilers archives again.