Yue Li <xyly781@...> writes:
>> On Thu, 14 Jan 2010, Yue Li wrote:
>>> Here did I miss something on configuring the GC? or I am totally out
>>> of the correct direction?
>> I don't think this is a GC issue.
> Thanks for your help! However, the sbcl installed on my machine is
> built by myself, and I already enabled sb-thread following the INSTALL
> file, I think if I did that incorrectly, I could not invoke
> make-thread to spawn threads.
That is true.
Your problem is indeed a GC issue. The garbage collector is single
threaded and has to stop the world for collection, so everything gets
interrupted during collection. The less you cons, of course, the less
that happens, but if you have something consing like mad, then you will
mostly see the GC thread.
The same thing bit me a few days ago.
The short term solution is patience, or perhaps having multiple sbcls
communicating via sockets, as no other (free) multithreaded CL i am
aware of is competitive with SBCL in terms of speed anyway (at least on
numerical computations). Except perhaps CMU CL, and I doubt that there
things are better on this regard..
The long term solution would be a good parallel GC, but I suspect that
these are not very easy to write.