Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!husc6!mit-eddie!genrad!decvax!mcnc!unc!rentsch
From: rentsch@unc.UUCP (Tim Rentsch)
Newsgroups: comp.lang.misc
Subject: Re: assembler v. HLL
Message-ID: <468@unc.unc.UUCP>
Date: Sun, 28-Dec-86 18:08:29 EST
Article-I.D.: unc.468
Posted: Sun Dec 28 18:08:29 1986
Date-Received: Mon, 29-Dec-86 03:36:20 EST
References: <483@l.cc.purdue.edu>
Reply-To: rentsch@unc.UUCP (Tim Rentsch)
Organization: CS Dept, U. of N. Carolina, Chapel Hill
Lines: 36

In article <483@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes:
>    Also, one should realize that, as opposed to 30 years ago, transfers
> and subroutine calls have become expensive.

Now, wait a minute.  That statement is misleading if not downright
false.

In the first place, subroutine calls (and transfers) have gotten
faster over the years.  So if they have become expensive, they are
only *relatively* expensive, compared to other operations which may
have gotten faster at a larger rate.  So even if this is the only
consideration (it isn't, see the following), subroutine calls have
not "become expensive", they have instead gotten *cheaper*, only at a
(perhaps) slower rate than some other things.  

In the second place, work done on pipelining and instruction
look-ahead (yes, done in the last 30 years) has given a great deal
of attention of subroutine calls and branches, precisely because
they were expensive to begin with.  (There are some very clever
schemes for branching -- inlcuding one machine where an
unconditional branch takes ZERO time.  Zero anythings is never
"expensive".)  Since they were expensive to begin with, and since
they had more attention paid to them, one would think they are
cheaper now.  (Studies comparing machines of thirty years ago to
machines of today are welcome.)

And, in the third place, subroutine calls do *more* now than they
did thirty years ago.  (Early machines did not even have subroutine
call instructions, remember.)  Comparing a Pascal subroutine call
with a Fortran subroutine call is like comparing apples and oranges.
The increased semantic power of the call must be considered before
such a call can be said to be "more expensive".

cheers,

txr