[gambit-list] Viewing CPS expansion?

Taylor R Campbell campbell at mumble.net
Fri May 22 15:51:28 EDT 2009


   Date: Fri, 22 May 2009 12:45:59 -0700
   From: "D.McClain" <dbm at asyrmatos.com>

   Okay, you have my attention... let's see that isomorphism in  
   practice.

I leave that as an exercise for the reader.

   I have seen my own measurements, and invariably they produce code
   that is 30% slower for CPS form than direct form. Perhaps the
   compilers producing the actual native code have been tuned to look
   for common human idioms and not CPS traits?

The way you say that suggests to me that you are using the *same*
compiler to compare a direct-style program with the same program
converted to continuation-passing style.  Unless the compiler is
extremely clever, it will probably generate worse code for the CPS
form of the program, for the reason I explained in my first message.

That's a very different question, however, from the question of how
the use of a CPS intermediate representation affects the code that a
compiler generates.



More information about the Gambit-list mailing list