top | item 47211104

(no title)

srean | 5 hours ago

The standard way is to use libraries like libevent, libuv that wraps system calls such as epoll, kqueue etc.

The other palatable way is to register consumer coroutines on a system provided event-loop. In C one does so with macro magic, or using stack switching with the help of tiny bit of insight inline assembly.

Take a look at Simon Tatham's page on coroutines in C.

To get really fast you may need to bypass the kernel. Or have more control on the event loop / scheduler. Database implementations would be the place to look.

discuss

order

No comments yet.