Tres respuestas por el precio de una:
- Puedes ejecutar Node.js en múltiples hilos. [1] En el mejor de los casos, la recomendación es ejecutar Node.js solo en tantos subprocesos como tenga subprocesos de hardware, pero si espera que se use algo de tiempo de CPU y desee más paralelismo, podría generar más subprocesos. Esto todavía no es ideal porque cualquier tarea que tarde más en un hilo bloqueará todas las demás respuestas en ese hilo, pero debería reducir la latencia promedio.
- Elixir utiliza un modelo multitarea preventivo, por lo que ningún hilo robará todos los ciclos de la CPU. Sin embargo, el elixir es más lento que Node.js en aproximadamente un factor de tres en algunos casos. [2]
- Go [3] es increíblemente rápido y tiene un excelente modelo de subprocesos. Si necesita velocidad, Go es probablemente la mejor alternativa. Go realizará el mismo tipo de subproceso al que está acostumbrado en Node, pero cualquier conexión se puede ejecutar en cualquier subproceso, por lo que una conexión ocupada no detendrá a varios otros.
Notas al pie
[1] racimo
- ¿Puedes pensar en Ruby on Rails en términos de una programación funcional donde un objeto es un módulo y los datos se manipulan a través del objeto (FP me parece más intuitivo, pero tengo que trabajar con Rails en este momento, quiero pensar en una forma FP)?
- ¿Cuál es el mejor navegador para desarrolladores?
- ¿Qué necesito saber para ser contratado como desarrollador web en Boston?
- ¿Cuál es el mejor: Ruby on Rails, MEAN o Drupal?
- ¿Qué es mejor para ser un desarrollador web de stack medio, AngularJS o Angular?
[2] Puntos de referencia del marco TechEmpower
[3] El lenguaje de programación Go