Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!uwvax!uwmacc!ad From: ad@uwmacc.UUCP Newsgroups: comp.arch Subject: Re: subroutine frequency Message-ID: <1093@uwmacc.UUCP> Date: Thu, 19-Feb-87 16:22:08 EST Article-I.D.: uwmacc.1093 Posted: Thu Feb 19 16:22:08 1987 Date-Received: Fri, 20-Feb-87 21:34:54 EST References: <1881@homxc.UUCP> <898@moscom.UUCP> <476@mntgfx.MENTOR.COM> <430@cpocd2.UUCP> Organization: UWisconsin-Madison Academic Comp Center Lines: 20 Summary: more info requested In article <430@cpocd2.UUCP>, howard@cpocd2.UUCP (Howard A. Landman) writes: >Procedure calls are grotesquely expensive on the most common machines. A good >rule of thumb for a VAX is that a procedure call takes as long as executing >about 100 computational instructions. This is why so much of the stdio package >is macros instead of procedures. There are several ways to try to avoid this >overhead. One is hardware support for call/return, as in some RISC machines. >Another way is to eliminate procedures from your language; this is what Forth >did with its "threaded code", and is the main reason Forth is so fast. On a >machine with multiple register windows the speed advantage of Forth would >evaporate; of course you could also implement a hardware stack, which might >increase its advantage! Please explain what you mean by multiple register windows and how they impact Forth's speed. Thanks. Alan Dickman 608-262-9421 Arpa: ad@unix.macc.wisc.edu Bitnet: ad@wisvmacc UUCP: ...{allegra,ihnp4,seismo}!uwvax!uwmacc!ad 1210 West Dayton Street, Madison, WI 53706