Configuring SLIME for McCLIM with CMUCL - Lisp Propulsion Laboratory log

Lisp Propulsion Laboratory log

Paolo Amoroso's weblog. Main interests: Lisp, astronomy (Moon), space exploration (Apollo and early manned programs) Calendar of past entries | Related links xml

Configuring SLIME for McCLIM with CMUCL

Sunday, August 29, 2004

Luke Gorrie, in this message posted to the slime-devel mailing list, explains how to configure SLIME for use with McCLIM and CMUCL.

The configuration involves the proper initialization of CMUCL's cooperating multiprocessing facility via mp::startup-idle-and-toplevel-loops, which is tricky because the function does not return. If this is not done, McCLIM may exhibit under CMUCL significant performance degradation, such as taking an application several tens of seconds, instead of a fraction of a second, to start up on a Pentium IV class machine.

There is not much documentation on multiprocessing initialization, and this is an obscure corner of CMUCL. But the mp::startup-idle-and-toplevel-loops documentation string does shed some light, and explains why the function is still not exported:

Enter the idle loop, starting a new process to run the top level loop.
The awaking of sleeping processes is timed better with the idle loop process
running, and starting a new process for the top level loop supports a
simultaneous interactive session. Such an initialisation will likely be the
default when there is better MP debug support etc.

Copyright © 2004 by Paolo Amoroso

Created with BlogMax

August 2004
Mon Tue Wed Thu Fri Sat Sun
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Jul  Sep
About Lisp | Practical Common Lisp (learn Lisp) | Planet Lisp (blog agregator) | Common Lisp Directory (software and resources) | Why Lisp?