Toy HTTP Server written in nasm 64 bits.
Useless, incomplete, unstable, not portable, fast at least.
My goal here is to use socket's option SO_REUSEPORT to bind a bunch of these to an unique port.
There is two goal here:
-
find how relying on kernel instead of userland good ol' event polling or a threadpool may impact performances.
-
make fun of people choosing and/or benchmarking HTTP frameworks/librairies over static "Hello World" HTTP responses. In the real world, the overhall design of the service and the underlying database are far more problematic than replying static content, like kind of JSON representation of "Hello world" ;)
You'll need nasm and an x86_64 Linux
build by running make
execute by running ./exxx
it binds on port 4270 (0xae10)