Hello.
Attached is the adjustment of the clisp port suggested by Luis Oliveira ( http://common-lisp.net/pipermail/tbnl-devel/2006-November/000815.html) to hunchentoot 0.14.7.
I've dropped clisp-serve-event because didn't find it useful. Just use start-server as you do in case of single-threaded sbcl.
Edi, is it possible to commit it?
I'm using it from about hunchentoot 0.11.1, it works OK for me (not to say i program for hunchentoot too much, but sometimes i do).
Clisp port may be useful in at least two cases: - If you want free lisp on windows. SBCL on windows has problems with sockets (for example http://sourceforge.net/mailarchive/message.php?msg_id=33541185225400%40webma..., also it doesn't close sockets and after few thousands of connections windows runs out of handles). Although it isn't a problem for development, in fact I switch freely between sbcl and clisp all the time.
- When small memory amount is available. Windows task manager reports memory usage by sbcl process of about 60 MB when hunchentoot is loaded. For clisp it's less then 25 MB.
I've recently deployed small bulletin board I'm writing to a linux VPN with 64 MB of memory.
The test is to serve static 200 KB file and request it using ApacheBench tool: ab -n 1000 -c 10 http://localhost:4242/static/file (-n is the number of requests, -c number of threads). In case of SBCL few such commands leads to furious swapping, whole system almost hangs and finally linux kills SBCL with message "out of memory". But clisp works stable.
Best regards, -Anton
Hi Anton,
On Fri, 21 Dec 2007 07:02:31 +0200, Anton Vodonosov avodonosov@yandex.ru wrote:
Attached is the adjustment of the clisp port suggested by Luis Oliveira [...] Edi, is it possible to commit it?
that's fine with me in principle although I won't be able to test new features against CLISP. However, several of the functions in the patch don't have documentation strings, and the HTML documentation should be updated in such a way that it at least mentions the CLISP port.
I've dropped clisp-serve-event because didn't find it useful.
Could you elaborate on this?
Thanks, Edi.
Edi Weitz edi@agharta.de writes:
Hi Anton,
On Fri, 21 Dec 2007 07:02:31 +0200, Anton Vodonosov avodonosov@yandex.ru wrote:
Attached is the adjustment of the clisp port suggested by Luis Oliveira [...] Edi, is it possible to commit it?
that's fine with me in principle although I won't be able to test new features against CLISP.
I've tested it and if you incorporate it into new release I'll retest it on Windows and linux.
However, several of the functions in the patch don't have documentation strings, and the HTML documentation should be updated in such a way that it at least mentions the CLISP port.
Yes, indeed, I've sent something raw, sorry. Please, check the new version attached.
I've dropped clisp-serve-event because didn't find it useful.
Could you elaborate on this?
Original patch by Luis Oliveira added support for both clisp and single threaded sbcl. Some common places were taken into little framework intended to be a basis for single-threaded lisp ports. SBCL version was based on sbcl's serve-event supprt. For clisp there was an emulation of serve-event - endless loop that checks all registered socket handles and if socket is "ready", handler function associated with socket is called. I.e. clisp serve-event was needed to make sbcl and clisp code compatible. As current sbcl code doesn't use serve-event, it doesn't make sense to keep serve-event emulation for clisp.
Best regards -Anton
On Mon, 24 Dec 2007 01:46:40 +0200, Anton Vodonosov avodonosov@yandex.ru wrote:
Please, check the new version attached.
Thanks, I've made a new release which incorporates your changes.
Edi.
Edi Weitz edi@agharta.de writes:
Thanks, I've made a new release which incorporates your changes.
Tested new release with clisp on windows and linux - works OK.
Thanks, -Anton