[cl-dwim-devel] wui speed test

Attila Lendvai attila.lendvai at gmail.com
Sun May 24 12:39:06 UTC 2009


hi,

...to continue from irc:

the codebase is at:

http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi/darcsweb.cgi?r=cl-dwim-wui;a=summary

to start it:

(asdf:oos 'asdf:test-op :wui)

(setf (log-level 'hu.dwim.wui::wui) +error+)

(start-functional-response-server :maximum-worker-count 4  :log-level +error+)
;; schedtool -a 1 -e ab -n 5000 -c100
http://localhost.localdomain:8080/?name=%3Cfoo%3E
(stop-test-server)

(start-test-server-with-test-applications :maximum-worker-count 4
:log-level +error+)
;; schedtool -a 1 -e ab -n 8000 -c100
http://localhost.localdomain:8080/test/performance?name=%3Cfoo%3E
(stop-test-server)


although the second one goes through more logic, they are both around
2500-3000/sec for me. but there are some rough edges...

wui was always intended to be more feature full than speedy, there's
not even connection multiplexing added yet to the lower layers. and
when i'll eventually add it, i'll use call/cc to suspend lightweight
threads when a socket is dry (no way that i'll do the inversion of
control by hand for multipart parsing and stuff...)

when i'm running the tests they sometimes stall because reading from
the socket would block and wui drops that connection (lack of
multiplexing) and then the test stops. to avoid that i had to run the
tests several times and/or lower the total request count.

this is lame, but wui is running a live application and the priorities
are guided by that...

-- 
 attila




More information about the cl-dwim-devel mailing list