[Top][All Lists]

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

Re: What's the problem? (Was: Are there plans for a multi-threaded Emacs

From: Martin Stjernholm
Subject: Re: What's the problem? (Was: Are there plans for a multi-threaded Emacs?)
Date: Wed, 10 Dec 2003 01:45:03 +0100
User-agent: Gnus/5.090016 (Oort Gnus v0.16) Emacs/20.7 (gnu/linux)

David Kastrup <address@hidden> wrote:

> Do you have an idea what figure we are speaking about here?  I repeat:
> _every_ access to a symbol that now works directly instead has to work
> via stack pointers. /.../

Not necessarily. State swapping can be used if only a single thread is
running at a time. I have explained how such a "limited" solution
still can give a worthwhile improvement.

I haven't yet seen any response to those constructive contributions to
this discussion that motivates they would be infeasible or
meaningless. I truly believe I have proposed a viable solution, but
the lack of comment on it is disappointing.

> And CPUs like the x86 do not have spare address registers flying
> around.

Appearance can deceive. I've heard all reasonably modern x86 cpu:s
have quite a lot of registers. They're just not accessible through the
archaic machine code format, so elaborate register renaming algorithms
are used instead.

Not that I particularly advocate making the binding environment thread
local, for the pragmatic reason of the amount of code change I fear
would be involved.

> We are quite probably talking about a _significant_ slowdown of the
> Lisp machine here.

I'm not at all certain of that; cpu optimizations can slant these
things in unexpected directions. It wouldn't surprise me if an extra
indirection on the stack is faster than a global variable due to
better memory locality.

reply via email to

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