Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site watmath.UUCP Path: utzoo!watmath!operators From: operators@watmath.UUCP (M.F.C.F. Operators) Newsgroups: net.arch,net.unix Subject: Re: timing study of uVAX II instructions Message-ID: <2422@watmath.UUCP> Date: Sat, 3-May-86 19:48:22 EDT Article-I.D.: watmath.2422 Posted: Sat May 3 19:48:22 1986 Date-Received: Sun, 4-May-86 06:17:40 EDT References: <90@wheaton> <1730@mit-eddie.MIT.EDU> Reply-To: operators@watmath.UUCP (Alan T. Bowler [SDG]) Organization: U of Waterloo, Ontario Lines: 22 Xref: watmath net.arch:3200 net.unix:7763 Summary: In article <1730@mit-eddie.MIT.EDU> jbs@mit-eddie.UUCP (Jeff Siegal) writes: >Of course, this has been said before, but the time for the call >instructions also gives some idea of how useful it is to have a >compiler which: > >1) Expands function calls inline when appropriate. > >2) Uses a faster, but less general, way to get to a function when >possible (usually only for "static" functions). > or 3) Have a compiler designers spent a significant amount of time thinking about and designing a call convention call convention that is fast and flexible. It has been observed a number of times that the manufacturer suggested call convention is seldom even close to being optimal for the machine. Similarly, the ones used by most C compilers are simply quick adaptations from the one used on the last machine the compiler implementor saw. I have often wondered how much the "RISC" performance comes simply from the fact that registers were used to pass arguments, instead of being blindly having garbage values "saved" and restored on every call.