I am interested in learning how to write extremely efficient network server software and I don’t mind getting my hands dirty with pointers, sockets and threading. I’m talking a server being able to handle thousands of concurrent connections. There is not much processing for each client, but a little.
Do you know of any code examples for really efficient network servers?
Optionally points for small, well documented code that is cross-platform as well.
Have a look at nginx, lighttpd and varnish for some popular high performance http servers.
BTW, I am currently working on combining edge-triggered epoll with multithreading (plus user-level swapcontext-style threads/fibers) – see http://svn.cmeerw.net/src/nginetd/trunk/ for some work-in-progress code (although this one is written in C++).