Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #782

Re: basic question about cps

From n.oje.bar@gmail.com
Newsgroups comp.compilers
Subject Re: basic question about cps
Date 2012-11-21 09:27 -0800
Organization Compilers Central
Message-ID <12-11-011@comp.compilers> (permalink)
References <12-11-004@comp.compilers> <12-11-010@comp.compilers>

Show all headers | View raw


On Wednesday, November 14, 2012 4:13:52 PM UTC, Stefan Monnier wrote:
> > It seems to me that if one performs the cps transformation one is left
> > with many 'computed' calls (that is call to variables holding
> > procedure values, namely, the continuation).
>
> Yes.  Every additional "computed call" (aka indirect call) corresponds
> to a "return" in the non-CPS version of the code.
>
> > It seems that compiling such 'computed' calls would be much slower
> > than compiling 'direct' calls to known procedures.
>
> That's the wrong comparison: the non-CPS version wouldn't see direct
> calls there, but would see `return's instead.

> Also, you're talking about "compiling" being "slower": are you really
> concerned about the speed of compilation, or the speed of the
> generated code?

> The performance of "return" versus "indirect call" depends on many
> factors, but it's probably important to try and make sure that the
> "return-like indirect calls" are compiled to code which the CPU
> recognizes as "some sort of return", in order for the
> branch-prediction to work better (CPUs keep an internal&hidden stack
> to try and predict the destination of return instructions).

Thanks very much for all your replies!

Best regards,
Nicolas

Back to comp.compilers | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

basic question about cps n.oje.bar@gmail.com - 2012-11-12 11:05 -0800
  Re: basic question about cps torbenm@diku.dk (Torben Ægidius Mogensen) - 2012-11-14 11:25 +0100
  Re: basic question about cps Stefan Monnier <monnier@iro.umontreal.ca> - 2012-11-14 11:13 -0500
    Re: basic question about cps n.oje.bar@gmail.com - 2012-11-21 09:27 -0800

csiph-web