From: | "Marco van de Voort" <marcov@toad.stack.nl> |
Newsgroups: | comp.compilers |
Date: | 10 Aug 2002 02:04:18 -0400 |
Organization: | Eindhoven University of Technology, The Netherlands |
References: | 02-07-098 02-07-121 02-07-128 02-08-005 |
Keywords: | performance, practice |
Posted-Date: | 10 Aug 2002 02:04:18 EDT |
Joachim Durchholz wrote:
> Marco van de Voort wrote:
>> [...] the most important reasons why e.g.
>> TP/BP is so fast, are
>> - [...]
>
> - Almost nonexistent optimization.
Certainly true, but not the dominant factor. Also non optimizing C
compilers are relatively slow, while somewhat optimizing Pascals (like
Delphi and FPC) are still very fast.
> I'm under the impression that compilers spend most of their time with
> optimization.
When they are actually compiling, maybe, mainly because optimization
adds several passes.
> TP did constant expression evaluation and dead code elimination, but
> that's about all: no liveness analysis, no register allocation. The
> resultant machine code was horrendous (but nobody noticed or cared, even
> in the 16 MHz age - so much for the relevance of efficiency).
IIRC it also did some CSE. But indeed it wasn't that much to look at.
I liked TopSpeed a lot at that time.
The main reason was that TP was mostly created in assembler.
Does somebody have an example of a heavily optimizing x86 16-bit compiler
that supports huge memory models?
The problem was that the constant segmentregister reloading in huge
mem models cost a lot of registers, and e.g. TopSpeeds simple keep
variables in reg often stumbled on it.
> That's Turbo Pascal. I never got around to looking at Borland Pascal
> output - I sincerely hope things have improved.
A bit maybe, but when BP came out, it still was the 386sx era.
Delphi is much better though.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.