You make a very important point here. When you&#x27;re creating a very high-throughput network server, you want to use as little 
Reactor and proactor I&#x2F;O makes it very easy to reason about execution order and more importantly memory usage. This kind of code usually gets written in C (or at the very best C++), and minimum memory usage per-socket is carefully planned.<p>Co-routine context and and green thread stack size can be tweaked and optimized sometimes, but if you want to have precise control over memory allocated per-connection, reactor&#x2F;proactor is hard to beat.<p>Besides, to be 100% honest, C and C++ just doesn&#x27;t have native support for any other concurrency model. That&#x27;s probably the main reason why Node.js was designed to use callbacks. I&#x27;m pretty sure it would use generators or async functions if it was designed today.