Subject: [clisp-list] question on multithreading

From: [email-masked] (Don Cohen)
Date: Sat, 21 Jul 2001 17:49:27 -0700

Is the proposed implementation supposed to allow multiple processors
to execute lisp code at the same time?  My guess is that it is not.
Can someone who is familiar with the issues please explain them or
post a reference?

---

From: Sam Steingold <[email-masked]>
Date: 22 Jul 2001 01:46:24 -0400

> * In message <[email-masked]>
> * On the subject of "[clisp-list] question on multithreading"
> * Sent on Sat, 21 Jul 2001 17:49:27 -0700
> * Honorable [email-masked] (Don Cohen) writes:
>

the proposed implementation uses OS threads, i.e., if your OS can run
different threads of the same process on different processors, then
lisp code will be executed at the same time on different processors.

please see src/xthreads.d and doc/multithread.txt

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Those who don't know lisp are destined to reinvent it, poorly.

---

From: [email-masked] (Don Cohen)
Date: Sun, 22 Jul 2001 00:01:02 -0700

> please see src/xthreads.d and doc/multithread.txt

I realize that it's to be implemented with OS threads.  Unfortunately,
the ability to execute lisp code on multiple processors at the same
time does not follow from that.  For instance, Allegro CL now
implements its MP package with OS threads, but only one thread at a
time is (or at least was, last I heard) allowed access to the lisp
heap.  In this case the multiple threads are allowing you a multiple
process style of programming, but not an actual speedup with multiple
processors.  I believe there are good reasons for this restriction.  I
also believe they apply to clisp as well as Allegro.

I hope someone out there can clarify this further.