3 ms·
We were using libevent and had to remove an extra abstraction layer. Machinarium is there for two reasons: 1. Express network protocol state machine as normal c
by x4m 7y ago
We were using libevent and had to remove an extra abstraction layer.
Machinarium is there for two reasons:
1. Express network protocol state machine as normal control flow. Just to make code simpler.
2. Reduce contention of multithreaded operations. In Machinarium you have coroutines which can yield context not to OS scheduler but to other coroutines. You can organize local data around worker (thread - owner of coroutines) and avoid false cache line sharing.