Re:Woo: Fast HTTP Server in Common Lisp
by sedachv on Saturday December 27, 2014 @06:14AM
(#8802297)
And libev is a C wrapper around epoll and other system calls. There's not much code needed to use epoll directly, that's what John Fremlin's TPD2 web server (the previous "world's fastest Common Lisp web server") did:
https://github.com/vii/teepeedee2/blob/master/src/io/epoll.l...
What libev provides is a very portable wrapper around all the different non-blocking IO system calls in all the different Unixes. That's the hard part.
Re:Woo: Fast HTTP Server in Common Lisp
by sanxiyn on Saturday December 27, 2014 @05:32AM
(#8802251)
Also note that HTTP parsing is done completely in Common Lisp, not in C. Woo uses fast-http, which is by the same author.
Re:Woo: Fast HTTP Server in Common Lisp
by sanxiyn on Saturday December 27, 2014 @05:28AM
(#8802243)
Indeed, Node.js is a thin FFI wrapper on top of lots of C (and C++) code that does all the heavy lifting, but it is still useful. I think Woo is useful the same way.
the title implies "the heavy lifting" is written in LISP.
Every node user knows the net lib nodejs uses isnt written in javascript.And most also know that in order for node to be useful,scripts should do as little as possible and delegate any serious operation to C/C++.
>the title implies "the heavy lifting" is written in LISP.
Woo uses fast-http[0], quri[1], and http-body[2], all written in pure Common Lisp and very, very fast.
[0]: https://github.com/fukamachi/fast-http
"built on top of libev"
The lisp part is a thin ffi wrapper on top of lots of C code.
Not than an ffi wrapper around C code isn't useful, but it's C code that does all the heavy lifting there.