> I would speculate: one limiting factor might be the forking http
> server (it should be simple to test how many requests per second I can
> fire at it and compare it to the competition results to get a rough
> idea) but it is pure speculation as I know almost nothing about that
> competition.

I just tried to roughly benchmark the forking server and I do not
think it is a limiting factor.  With the following code


#!/home/tomas/lisp/picoLisp/bin/picolisp /home/tomas/lisp/picoLisp/lib.l

(load "@ext.l" "@lib/http.l" "@lib/xhtml.l")

(allowed () "@start")

(de start ()
   (html 0 "Hello" NIL NIL
      "Hello World!" ) )

(server 8080 "@start")


and running

   $ siege -b -c 5 http://localhost:8080

gives me about 1050 transactions per second.  That is about 63000
transactions per minute.

The results were 2600 transactions per minute for picoLisp which is
about 25 times slower than "do nothing" server.  The winner had 3664
trans/sec which is 17 times slower than the "do nothing" server.

The next thing to "investigate" might be db locking/synchronization?



Reply via email to