I have speculated for some time now too, after experiments with CPS based compilers on a number of occasions, that the slowdown must be due to two things: 1. All functions are now forced to accommodate the continuation parameter, whereas before a large majority of functions where niladic or unary operations, 2. The creation of the continuation arguments requires the production of a closure, which is inherently somewhat expensive. My own work has consistently shown a 30% slowdown, independent of actual language of implementation -- be it Scheme, Lisp, or OCaml. Dr. David McClain Sr. VP, Embedded Systems Asyrmatos Inc. Boston & Tucson phone: 520-529-2437 cell: 520-390-3995 web: www.asyrmatos.com e-mail: dbm@asyrmatos.com On May 22, 2009, at 06:51, Alex Queiroz wrote:
Hallo,
On 5/22/09, Marc Feeley <feeley@iro.umontreal.ca> wrote:
On 21-May-09, at 4:54 PM, James Long wrote:
`gsc' supports -expansion, but it seems to show the basic expansion into normalized gambit code. Is there any way to show the fully CPS-transformed forms of the code?
Nope. Gambit does not transform code to CPS style.
Also more of a curiosity, why? Is CPS irremediably slower? I've been reading a lot about compiling lately...
Cheers, -- -alex http://www.ventonegro.org/ _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list