|
|
|
|
|
by srean
109 days 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. |
|