Was that the compiler that did everything via sorting? WFL On 2/11/11, Henry Baker <hbaker1@pipeline.com> wrote:
The IBM 1401 (card & tape machine) Fortran compiler had something like 100 passes. It was easier to keep the user's Fortran program to be compiled in the random access memory (4k-16k 7-bit bytes) & read the compiler program passes in from tape. Since the compiler passes were arranged in order on the tape, when the tape was done reading, the compiled program was finished & arranged in the memory. I guess this was the mirror to the Unix "pipe" capability.
I can't remember whether this compiler supported separate compilation -- probably not -- so a loader wasn't required.
At 03:32 PM 2/10/2011, Guy Haworth wrote:
Nostalgia time! I remember delivering a large FORTRAN statistical package, Package X, to the UK Cabinet Office's Central Statistical Office around 1977.
Functional decomposition was an architectural imperative and there were many subroutines. They had to be mapped to Overlay areas, like cars 'hot parking' on shared carparking spots.
To avoid thrashing, we defined the lattice of subroutines in terms of what calls what, and made sure subroutines on different levels of the lattice went to different overlay areas. To make sure all was working ok, we monitored the disc-channel to check for thrashing. We were amazed to discover that there were 10 disc-transfer per overlay-swap.
Our reaction to this was to reformat the binary file so that all the bits that came in with the code ... came in first in one lump (sometimes with the code if it wasn't the code that defined the size of the overlay) and got split out to their own bits of space.
Basically, we speeded up the program by a factor of 6 - but this unofficial format never got to the customer.
guy
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun