Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
The Node.js Event Loop on the Server: libuv Phases, process.nextTick, setImmediate and Blocking the Loop
The Node.js event loop passes through the libuv phases (pending, poll, check, close, timers) on every turn and drains the nextTick queue, then the promise queue, after every callback; that is why setImmediate runs before setTimeout(0) inside an I/O callback. With real measurements: a full thread pool holding a file read for 371 ms, blocking with JSON.parse and ReDoS, monitorEventLoopDelay, and the Bookstore price report holding /health for 481, 13 and 1 ms inline, chunked and in a worker.
What Is Node.js? V8, libuv and the Event-Driven Server Model Through an ASP.NET Core Developer's Eyes
Node.js is a runtime that runs JavaScript on the server with the V8 engine and the libuv event loop: your code runs on one thread, waiting on I/O holds no thread, but one long synchronous computation makes every request wait. With real measurements: 500 concurrent waits in 227 ms, a 1.4-second report holding a trivial request for 1,340 ms, the 4-thread libuv pool, a comparison with Kestrel and the ThreadPool, a Node-or-.NET table and the yearly release schedule that starts with Node 27.