[cxml-devel] CXML performance

Edi Weitz edi at agharta.de
Wed Sep 10 12:27:36 UTC 2008


On Tue, 09 Sep 2008 12:57:38 +0530, Chaitanya Gupta <mail at chaitanyagupta.com> wrote:

> <quote>
> In some senses, his statement is correct, but not because of any
> "big lock".  The effect is seen on "virtual" or "green" threads
> implementations like the OS X/Linux versions you are discussing in
> that thread.  Note that our virtual threads implementation uses only
> one thread, and so if you have another real thread (spawned by
> pthread_create or similar) the lisp will have no effect on that
> thread.  If you spawn the thread through lisp, via
> e.g. process-run-function, then it is not really a "thread", because
> it is virtual, and has to wait for the (virtual) scheduler to
> schedule it.  Other real threads will run as the system sees fit.
>
> On Windows, we have an implementation called os-threads which ties
> the thread spawned by process-run-function directly to a real
> thread, and so it acts precisely as you implied it would in the
> cxml-devel mail thread.
> </quote>

Call it "big lock" or not, for me the actual question is whether two
Lisp threads in the same imagine can actually run /at the same time/
if I have a multi-core or multi-processor system.  My understanding is
that they can't.

Edi.



More information about the cxml-devel mailing list