The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Paul Winalski <paul.winalski@gmail.com>
To: Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
Cc: TUHS main list <tuhs@tuhs.org>
Subject: [TUHS] Re: On the uniqueness of DMR's C compiler
Date: Fri, 10 May 2024 13:28:40 -0400	[thread overview]
Message-ID: <CABH=_VTCZz-N2rj6neWFfVb7=HKJ9tMJqNw6PcEv+2aJ_7a8iQ@mail.gmail.com> (raw)
In-Reply-To: <CAKH6PiXy_-+nAm08ciJvZL0mLeXxh3hFHasy-wcJhpQbE=DwiA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]

On Wed, May 8, 2024 at 2:29 PM Douglas McIlroy <
douglas.mcilroy@dartmouth.edu> wrote:

>
> Dennis was one-up on Digitek in having a self-maintaining compiler. Thus,
> when he implemented an optimization, the source would grow, but the
> compiler binary might even shrink thanks to self-application.
>

Another somewhat non-intuitive aspect of optimizing compilers is that
simply adding optimizations can cause an increase in compilation speed by
reducing the amount of IL in the program being compiled.  Less IL due to
optimization means less time spent in later phases of the compilation
process.

Regarding native compilers for small machines, IBM had compilers for
Fortran, COBOL, and PL/I that ran in 32K on System/360 and produced
tolerably good code (yes, one could do better with handwritten assembler).
And they generated real code, no threaded code cop-out.  And we're talking
full PL/I here, not the subset that ANSI later standardized.  The compilers
were table-driven as much as possible, heavily overlaid, and used three
scratch files on disk (split-cylinder allocated to minimize seek time).

-Paul W.

[-- Attachment #2: Type: text/html, Size: 1497 bytes --]

  reply	other threads:[~2024-05-10 17:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-08 18:29 Douglas McIlroy
2024-05-10 17:28 ` Paul Winalski [this message]
2024-05-11  9:16   ` Ralph Corderoy
2024-05-11 13:42   ` G. Branden Robinson
     [not found] <171535904627.4052234.5321502833323676423@minnie.tuhs.org>
2024-05-10 18:55 ` Paul McJones
     [not found] <171519201646.4052234.694570138790187562@minnie.tuhs.org>
2024-05-09  3:39 ` Paul McJones
2024-05-09  3:46   ` Warner Losh
  -- strict thread matches above, loose matches on Subject: below --
2024-05-07 20:59 [TUHS] " Paul Ruizendaal
2024-05-07 22:07 ` [TUHS] " Rob Pike
2024-05-08  9:35   ` Paul Ruizendaal
2024-05-08 13:12     ` Rob Pike
2024-05-08 15:51     ` Clem Cole
2024-05-08 16:07       ` Jon Forrest
2024-05-08 17:49         ` Tom Perrine
2024-05-08 17:05       ` Adam Sampson
2024-05-08 17:45       ` Al Kossow
2024-05-08 18:12         ` Clem Cole
2024-05-08 18:12           ` Clem Cole
2024-05-09  1:27           ` Lawrence Stewart
2024-05-31 12:00       ` Paul Ruizendaal
2024-05-31 12:21         ` Peter Yardley
2024-05-08 11:09 ` Michael Kjörling
2024-05-09 20:40 ` Paul Ruizendaal via TUHS
2024-05-09 20:57   ` Al Kossow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABH=_VTCZz-N2rj6neWFfVb7=HKJ9tMJqNw6PcEv+2aJ_7a8iQ@mail.gmail.com' \
    --to=paul.winalski@gmail.com \
    --cc=douglas.mcilroy@dartmouth.edu \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).