chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] clustering


From: Christian Kellermann
Subject: Re: [Chicken-hackers] [PATCH] clustering
Date: Sun, 6 Nov 2011 12:46:36 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

* felix winkelmann <address@hidden> [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.

This is really nice stuff, I like it.

Kind regards,

Christian


-- 
Who can (make) the muddy water (clear)? Let it be still, and it will
gradually become clear. Who can secure the condition of rest? Let
movement go on, and the condition of rest will gradually arise.
 -- Lao Tse. 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]