[Lispweb] x86 cmucl & web

John Wiseman wiseman at inetmi.com
Tue Mar 19 12:00:42 CST 2002

Andrew Wolven wrote:

> I was wondering how well the multithreading performs on x86 cmucl
> for application servers like imho and portable allegroserve.  Is it
> good enough to use for a production web server?  Certainly imho is
> used in production somewhere, but does it use the multithreading or
> does it spawn a new cmucl instance?  (it meaning the frontend
> server) How is this handled?  (I don't currently have an x86 linux
> box to try this on.)

I guess I should offer my own, perhaps contrarian opinion.  

I consider cmucl to be just barely "production quality."  The
multiprocessing facility in particular is a weakness.  Its cooperative
threading is a big disadvantage, and I didn't find even that to be
very stable.  Plenty of times I found myself either with an
unresponsive listener or in the low-level debugger, with no recourse
but killing lisp.

As a web server, if you're not doing too much work per request, you
might be OK.  Unless you go to a lot of trouble requests are going to
be serialized.  This seems rather horrible to me, and is probably
enough to knock cmucl out of contention for high traffic sites.  And I
think you'd have to take special care to keep a single messed up
client (or malicious clients) from hanging your site.

It didn't work very well for our application to do much work other
than being a web server, either; No http requests will be handled
until the currently running thread blocks.

These opinions are based on my experience in trying to use cmucl for
production use for a single application, and may not apply for other
sorts of applications.  Also, I'm not a cmucl expert, so maybe there
are workarounds for these issues that I'm not aware of.  In addition,
a term like "production quality" can mean almost anything.  Hell, Paul
Graham made millions off an application that was based on clisp, which
doesn't even have multithreading or native code generation.

Also, please note that I am very impressed by cmucl as a whole, and am
grateful that it exists, is free, and that many smart people put a lot
of effort into it.

There are more details about the issues I've had with cmucl at
<http://lemonodor.com> (this google search might help narrow it down a
bit: <http://www.google.com/search?q=cmucl+site%3Alemonodor.com>).

John Wiseman

More information about the lispweb mailing list