From mboxrd@z Thu Jan 1 00:00:00 1970 From: bqt@update.uu.se (Johnny Billquist) Date: Mon, 4 Jan 2016 02:08:17 +0100 Subject: [TUHS] Early Unix function calls: expensive? In-Reply-To: References: Message-ID: <5689C601.4080602@update.uu.se> On 2016-01-04 00:53, Tim Bradshaw wrote: >> >On 3 Jan 2016, at 23:35, Warren Toomey wrote: >> > >> >Does anybodu have a measure of the expense of function calls under Unix >> >on either platform? >> > > I don't have the reference to hand, but one of the things Lisp implementations (probably Franz Lisp in particular) did on the VAX was not to use CALLS: they could do this because they didn't need to interoperate with C except at known points (where they would use the C calling conventions). This change made a really significant difference to function call performance and meant that on call-heavy code Lisp was often very competitive with C. > > I can look up the reference (or, really, ask someone who remembers). > > The VAX architecture and its performance horrors must have killed DEC, I guess. I don't know if that is a really honest description of the VAX in general, nor DEC. DEC thrived in the age of the VAX. However, the CALLS/CALLG and RET instructions were really horrid for performance. Any clever programmer started using JSB and RSB instead. as they give you the plain straight forward call and return semantics without all the extra stuff that the CALL instructions give. But, for assembler programmers, the architecture was nice. For compilers, it's more difficult to do things optimal, and of course, it took quite a while before hardware designers had the tools, skill and knowledge how to implement complex instruction sets fast in hardware. But nowadays, that is definitely not a problem, and it was more or less already solved by the time of the NVAX chip as well, which was actually really fast compared to a lot of stuff when it came out. Johnny -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: bqt at softjar.se || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol