From: <don...@is...> - 2001-07-22 07:00:53
|
Sam Steingold writes: > > 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? > > 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 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. |