From what I understand, Node.js has a main thread for the event loop which handles all incoming requests and does IO asynchronously, while traditional multi-threaded web servers handle each incoming request with a separate thread (does everything asynchronously if seen from the main thread's point of view).
In terms of IO, since IO operations are handled asynchronously in both cases, I don't quite see how Node.js can give a performance boost here.
In terms of CPU, isn't Node.js just trading responsiveness for better memory usage? For an extreme example, suppose there's no IO, then Node.js just sums up several threads' work into one.
I see one major advantage of Node.js is to hide multi-thread programming details behind the framework and simplify programmer's work. But could anyone please help explain what the performance advantage is?
Help appreciated.