¿Cómo es Node.js inherentemente más rápido cuando todavía se basa en subprocesos internamente?

Acabo de ver el siguiente video:Introducción a Node.js y todavía no entiendo cómo obtienes los beneficios de velocidad.

Principalmente, en un momento, Ryan Dahl (creador de Node.js) dice que Node.js se basa en bucles de eventos en lugar de en hilos. Los subprocesos son caros y solo deben dejarse en manos de los expertos en programación concurrente.

Más tarde, luego muestra la pila de arquitectura de Node.js que tiene una implementación C subyacente que tiene su propio grupo de subprocesos internamente. Entonces, obviamente, los desarrolladores de Node.js nunca iniciarían sus propios subprocesos o usarían el grupo de subprocesos directamente ... usan devoluciones de llamadas asíncronas. Eso lo entiendo.

Lo que no entiendo es el punto de que Node.js todavía está usando subprocesos ... solo está ocultando la implementación, entonces, ¿cómo es esto más rápido si 50 personas solicitan 50 archivos (que actualmente no están en la memoria) y no se requieren 50 subprocesos? ?

La única diferencia es que, dado que se gestiona internamente, el desarrollador de Node.js no tiene que codificar los detalles de los subprocesos, pero debajo sigue utilizando los subprocesos para procesar las solicitudes de archivos IO (bloqueo).

Entonces, ¿no estás simplemente tomando un problema (enhebrado) y ocultándolo mientras ese problema todavía existe: principalmente múltiples hilos, cambio de contexto, bloqueos muertos ... etc.?

Debe haber algún detalle que todavía no entiendo aquí.

Respuestas a la pregunta(6)

Su respuesta a la pregunta