From: Christian Kellermann <ck...@pestilenz.org> Subject: Re: [Chicken-hackers] [PATCH] clustering Date: Sun, 6 Nov 2011 12:46:36 +0100
> * felix winkelmann <fe...@call-with-current-continuation.org> [111027 11:18]: >> The attached patch adds an optimization (originally suggested by >> chairman shinn), which turns groups of local procedures into "dispatch >> loop". This can give good performance improvements in tight code that >> performs no (or few) CPS calls. Currently it is not enabled by >> default, but will probably later be enabled for optimization levels 2 >> and higher. > > The patch looks fine to me. However I found this part: > > diff --git a/support.scm b/support.scm > index 28c950b..444504d 100644 > --- a/support.scm > +++ b/support.scm > @@ -618,7 +619,11 @@ > ((##core#closure) > `(##core#closure ,params ,@(map walk subs)) ) > ((##core#variable) (car params)) > - ((quote) `(quote ,(car params))) > + ((quote) > + (let ((c (car params))) > + (if (or (boolean? c) (string? c) (number? c) (char? c)) > + c > + `(quote ,(car params))))) > ((let) > `(let ,(map list params (map walk (butlast subs))) > ,(walk (last subs)) ) ) > > Is this an optimisatoin that has sneaked in behind your back? If > so, I will commit it separately. If it is necessary for the patch > to work, I am all ears to hear about it. > It's a small change to the translation of the internal node tree back to s-expressions (mainly for debugging and error output). This change omits unnecessary quotes in the output. I probably should have made this a different patch, but I was too lazy. cheers, felix _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers