Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.compilers > #3414
| From | gah4 <gah4@u.washington.edu> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: fledgling assembler programmer |
| Date | 2023-03-24 14:17 -0700 |
| Organization | Compilers Central |
| Message-ID | <23-03-012@comp.compilers> (permalink) |
| References | <23-03-001@comp.compilers> <23-03-002@comp.compilers> <23-03-003@comp.compilers> <23-03-007@comp.compilers> <23-03-008@comp.compilers> |
On Friday, March 24, 2023 at 7:10:00 AM UTC-7, Thomas Koenig wrote: (snip about the lost art of small memory compilers.) > On the Internet, there is a project for almost everything - in this > case Tiny C, which still seems to be under active development. Or > at least there are sill commits at https://repo.or.cz/w/tinycc.git . > However, there is a reason why compilers got so big - there is > always a balance to be struck between comilation speed, compiler > size and optimization. When I was writing the above, I was looking at the Program Logic Manual for the OS/360 Fortran G compiler. (G means it is supposed to run in 128K.) Fortran G was not written by IBM, but contracted out. And is not (mostly) in assembler, but in something called POP. That is, it is interpreted by the POP interpreter, with POPcode written using assembler macros. Doing that, for one, allows reusing the code for other machines, though you still need to rewrite the code generator. But also, at least likely, it decreases the size of the compiler. POP instructions are optimized for things that compiler need to do. I also had the source to that so many years ago, but not the manual describing it. > An extreme example: According to "Abstracting Away the Machine", the > very first FORTRAN compiler was so slow that the size of programs > it could compile was limited by the MTBF of the IBM 704 of around > eight hours. I remember stories about how well its optimizer worked, when it was believed that they had to compete in code speed with experienced assembly programmers. I don't remember anything about how fast it was. > The balance has shifted over time, because of increasing computing > power and available memory that can be applied to compilation, > and because relatively more people use programs than use compilers > than ever before. So, in today's environment, there is little > incentive for writing small compilers. I first thought about this, when reading about the Hercules project of an IBM S/370 emulator, and couldn't run gcc in 16MB. (Well, subtract some for the OS, but it still wouldn't fit.) > Also, languages have become bigger, more expressive, more powerful, > more bloated (take your pick), which also increases the size > of compilers. OK, the IBM PL/I (F) compiler, for what many consider a bloated language, is designed to run (maybe not well) in 64K. At the end of every compilation it tells how much memory was used, how much available, and how much to keep the symbol table in memory.
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
fledgling assembler programmer Alan.Beck@darkrealms.ca (Alan Beck) - 2023-03-21 17:40 -0400
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-21 17:23 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-22 06:49 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-22 13:31 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-23 11:26 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 14:17 -0700
Re: ancient PL/I, was fledgling assembler programmer drb@ihatespam.msu.edu (Dennis Boone) - 2023-03-24 22:51 +0000
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 22:44 -0700
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-25 01:27 -0700
Re: fledgling assembler programmer Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-25 13:07 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-25 20:54 -0400
Portable Software (was: fledgling assembler programmer) Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-28 09:21 +0200
Re: Portable Software (was: fledgling assembler programmer) arnold@freefriends.org (Aharon Robbins) - 2023-03-28 14:42 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:33 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) arnold@skeeve.com (Aharon Robbins) - 2023-03-31 07:10 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 08:56 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-31 07:49 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 10:04 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-05 11:23 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-05 16:30 +0000
Re: Portable Software Kaz Kylheku <864-117-4973@kylheku.com> - 2023-04-06 08:35 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-07 15:35 +0200
Re: Portable Software Thomas Koenig <tkoenig@netcologne.de> - 2023-04-08 18:25 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-28 14:21 -0700
Re: Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:34 +0000
Re: Portable Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-28 17:26 -0400
Re: Portable python Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-29 13:50 -0400
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-29 11:27 -0700
Re: Portable Software (was: fledgling assembler programmer) Thomas Koenig <tkoenig@netcologne.de> - 2023-03-31 05:19 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-31 12:41 -0700
Re: Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-31 16:34 +0000
Re: fledgling assembler programmer arnold@skeeve.com (Aharon Robbins) - 2023-03-23 13:56 +0000
Re: fledgling assembler programmer anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-22 10:02 +0000
Re: fledgling assembler programmer David Brown <david.brown@hesbynett.no> - 2023-03-22 14:39 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-22 14:54 -0400
csiph-web