4 ms·
I used to work with a guy ("R.D.") who was one of the earliest COBOL compiler developers, who said that the primary COBOL compiler running on a massively fast (
by DougMerritt 4y ago
I used to work with a guy ("R.D.") who was one of the earliest COBOL compiler developers, who said that the primary COBOL compiler running on a massively fast (and expensive) IBM mainframe in the 1960s was horrifically slow -- so he and fellow tiger-team workers implemented their own compiler, generating instructions for an imaginary COBOL-specific CPU running on an emulator.
However, ultimately this was running on one of the I/O co-processors for that same mainframe, which had only about 10 simplistic instructions, so they implemented an emulator of a more usable CPU on that I/O co-processor, and then there was some extra complexity caused by the very limited RAM on the co-processor, so they had some extra layers of emulation that were swapped in and out, so the whole emulation stack was at minimum 3 layers deep and got worse from there.
The punchline is that the resulting COBOL compiler with many layers of emulation ran faster on the pathetically small and slow I/O processor than the primary COBOL did on the mainframe without emulation.
This appeared to be simply because the I/O processor tiger team understood efficiency tradeoffs, while the mainframe COBOL team took the attitude that the mainframe was infinitely fast and had infinite memory.
There are multiple morals to that; one of the more obvious ones is that nothing stays fast if you fritter it away by actively not caring about speed -- something which comes up over and over in today's world.
Another one is that peripheral processors are cool, both on big iron and on tiny iron. :) But see Ivan Sutherland's Wheel of Reincarnation regarding that. [0] [1] [2]
[0] http://catb.org/jargon/html/W/wheel-of-reincarnation.html http://catb.org/jargon/html/W/wheel-of-reincarnation.html
[1] http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland-design-of-display-processors.pdf http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland...
[2] https://news.ycombinator.com/item?id=21133389 https://news.ycombinator.com/item?id=21133389