Re: Question: Specific vs. Generic Compilers (Henry Spencer)
Tue, 28 Jan 1992 17:40:28 GMT

          From comp.compilers

Related articles
Question: Specific vs. Generic Compilers (1992-01-27)
Re: Question: Specific vs. Generic Compilers (1992-01-28)
Re: Question: Specific vs. Generic Compilers (1992-01-28)
Re: Question: Specific vs. Generic Compilers (1992-02-05)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Henry Spencer)
Keywords: optimize, architecture
Organization: U of Toronto Zoology
References: 92-01-102
Date: Tue, 28 Jan 1992 17:40:28 GMT

In article 92-01-102 (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 ...

This is like asking "how high is up?". Bear in mind that Sun's compiler
is almost certainly generic too, since until very recently Sun supported
two or three different architectures. The only way to answer this question
is to look at specific compilers and specific notions of "better". The
answer is much more a function of the effort invested in the compiler and
the competence of the people involved than of whether it was done by a
computer manufacturer or someone else. (For example, on the 68k-based
Sun 3 series, the GNU compiler is typically better than Sun's.) The only
advantages the manufacturer has are earlier information about new systems
and perhaps better knowledge about the effects of possible optimizations.
This can often be counterbalanced by the bureaucratic ineptitude of such
large organizations.

> * 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.)

This ranges from difficult to impossible on most modern computer systems.
RISC machines did restore considerable predictability to the instruction
stream itself, but superscalar implementations and such are about to take
it away again. And caching of various kinds has made memory performance
nearly impossible to predict. The best a compiler could do would be to
give a (best case, worst case) pair, and the spread would be pretty wide.
Henry Spencer @ U of Toronto Zoology utzoo!henry

Post a followup to this message

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