guile-devel
[Top][All Lists]
Advanced

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

Re: Elisp performance


From: Daniel Kraft
Subject: Re: Elisp performance
Date: Tue, 04 Aug 2009 12:54:26 +0200
User-agent: Thunderbird 2.0.0.0 (X11/20070425)

Andy Wingo wrote:
Daniel Kraft <address@hidden> writes:

Lambda arguments are still always dynamically bound, which is quite a
pity as it inhibits tail-call optimization;

Indeed, a pity. Though self-tail calls can be optimized... still,
irritating.

Yes, but I fear this will complicate the compiler a lot and does not gain that much -- for anyone who wants to use tail-calls, he can do so with the always-lexical feature, and existing code should not depend on tail-calls anyway as Emacs seems not to do it.

The main thing I believe that makes a fluid different from a normal
variable is that a fluid can have a different value in each thread -
which is not relevant to Elisp.

True. Of course, it would be a nice thing to give to elisp -- I mean,
currently in Emacs variables have one value per thread as well, it's
just that there's only one thread. So if we give Emacs the capability to
run multiple threads (as we should IMO), we should provide thread-local
values.

I like the idea, too. In this case, we should stick with the fluids. I also thought about giving the user the choice of which "dynamic binding" facility to use, and it would not be that much of a mess, I think; maybe I'm going to give dynamic binding without fluids and just dynamic-wind a try to see how much performance this really gives.

Cheers,
Daniel

--
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri




reply via email to

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