This is interesting as a toy and I'm sure the authors are having a lot of fun implementing their idea.
On the other hand, the state of art when it comes to performance is zero-copy from disk to NIC using io_uring and DMA, combined with NICs that support TLS & checksumming offloading and separated header and payload that can be filled independently by the OS and user-space.
I wonder if the authors of these projects ask themselves: what reasons are there to not do it like this? This thread has a few answers.
I am the author (of the blog post and of the Clace project). Clace is built for one specific use case: internal web apps, to run locally or on a shared server, for use by a team. Clace is not a general purpose web server. It is an application server which uses containers and sandboxing (when running Starlark code) to allow for multiple apps to be managed easily. Clace just happens to implement some web server features for operational simplicity, to avoid requiring an additional component to be managed.
I am not claiming a SQLite database is always the right approach for serving static files. In my particular use case for Clace, I found a database to work better.
On the other hand, the state of art when it comes to performance is zero-copy from disk to NIC using io_uring and DMA, combined with NICs that support TLS & checksumming offloading and separated header and payload that can be filled independently by the OS and user-space.
I wonder if the authors of these projects ask themselves: what reasons are there to not do it like this? This thread has a few answers.