Related articles |
---|
Question: Specific vs. Generic Compilers fs_reise@rcsw21.rcvie.co.at (1992-01-27) |
Re: Question: Specific vs. Generic Compilers preston@dawn.cs.rice.edu (1992-01-28) |
Re: Question: Specific vs. Generic Compilers henry@zoo.toronto.edu (1992-01-28) |
Re: Question: Specific vs. Generic Compilers Christian.Reiser@rcvie.co.at (1992-02-05) |
Newsgroups: | comp.compilers |
From: | preston@dawn.cs.rice.edu (Preston Briggs) |
Keywords: | optimize, design |
Organization: | Rice University, Houston |
References: | 92-01-102 |
Date: | Tue, 28 Jan 1992 02:00:55 GMT |
fs_reise@rcsw21.rcvie.co.at (Christian Reiser) writes:
> for many machines compilers are distributed by the machine
>producers specialized for this machine (e. g. Sun sells a C-Compiler for
>Sun 4). On the other hand generic compilers like gnu-c exist, which can
>easily be changed for a new computer.
> * Which one is better in the aspects of code size, execution time and
> effective use of resources and possibilities like delay slots and
> processor caches?
It's terribly difficult to compare compilers fairly. Some are designed
for fast compilation, easy portability, small compile-time requirements,
fast object code, debuggable object code, etc. Different tradeoffs exist,
and each compiler writer must decide what performance points to emphasize.
Generally though, I'd expect the machine-specific compiler to generate
faster code, though gcc is remarkably good at embarrassing various
manufacturers.
You'll probably have to do actual comparisons on the hardware rather than
rely on generic answers.
> * Do statistics exist and where can I get them from?
I don't think so, though sometimes you see limited comparisons published.
> * How far are (hard) real-time considerations taken into account? (I
> think of aspects like precalculation of execution time or at least
> haveing always the same execution time for the same code.)
In general, determining execution time (even termination) is undecidable,
so few compilers attempt such predictions. Even estimating cycle-counts
for particular instructions is difficult, due to pipeline interlocks,
cache misses, et cetera. However, some compilers will produce expected
cycle counts for basic blocks as part of the assembly listing.
Preston Briggs
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.