sustrik/libmill

Documentation: Applications that use libmill to show off libmill (current & future) e.g. web server?

raedwulf opened this issue · 1 comments

In the documentation somewhere, it would be nice to compile a list of applications or examples that use libmill. I don't think there are many at the moment, but it would be nice to have a substantial project in the future that uses libmill to showcase its features.

For example, I'm currently working on a simple (unreleased) HTTP/2 web server using nghttp2 and libmill sockets. In terms of performance, it's about 20% slower than lwan on single-threaded, single stream performance. This is actually really good as lwan is HTTP/1.1, which is simpler to parse than HTTP2, and lwan has highly optimised web-serving code with custom assembler context switching. Using HTTP2 features like streaming, easily exceeds lwan's performance. However, this is very toy static file serving at the moment and it's comparing apples with oranges but it does mean that libmill is at least comparable in raw performance. I suspect once SSL is implemented in libmill, the performance will exceed that of lwan + hitch combination.

I'll release the code in the near future once I've finished my thesis and tidied the code a bit.

Nice!

As for the docs, yes, we can add a webpage with the list of projects. Once you have finished your HTTP server, you can add the page into gh-pages branch and send a pull request.