Joyent en C • V8 : El motor Javascript de Google Chrome • Runtime en Javascript • Multi-Plataforma : Windows, Linux, OS X • NPM : Package Manager (www.npmjs.org)
mutex y race-condition ! • Asíncrono (Non Blocking) : ◦ Uso óptimo del CPU ◦ « scaling » más evidente : más procesos y un load- balancer • Compartir código entre cliente e servidor
mutex y race-condition ! • Asíncrono (Non Blocking) : ◦ Uso óptimo del CPU ◦ « scaling » más evidente : más procesos y un load- balancer • Compartir código entre cliente e servidor • V8
request AJAX ◦ « Hilos cooperativos » • El event-loop ◦ epoll / kpoll / etc. ◦ Llama las callbacks cuando tienen su resultado • ... hay que respetarle ◦ Cuidado con el uso del CPU
request AJAX ◦ « Hilos cooperativos » • El event-loop ◦ epoll / kpoll / etc. ◦ Llama las callbacks cuando tienen su resultado • ... hay que respetarle ◦ Cuidado con el uso del CPU ◦ process.nextTick
post,... • Facilidades para motores de plantillas: Jade, EJS, JinJS, ... • Middleware via Connect y en cada función de routing • focus en alta rendimiento • muy buen test coverage
-c 1000 http://localhost:3000 Concurrency Level: 1000 Time taken for tests: 19.458 seconds Complete requests: 100000 Requests per second: 5139.34 [#/sec] (mean) Time per request: 194.578 [ms] (mean) Time per request: 0.195 [ms] (mean, across all concurrent requests) Intel i3 540 @ 3.07GHz / 8 GB RAM