DEV Community

Discussion on: JavaScript's Event Loop

Collapse
 
koresar profile image
Vasyl Boroviak

I did years of multithreading (C, C#) before NodeJS (btw, NodeJS also has thread support).

The main problem with threads is switching between them. Each switch costs a lot of memory shifting and CPU cycles. Event loop is computationally cheap.

Hence, NodeJS is high performant in I/O heavy tasks (e.g. networking).

Thread Thread
 
michaelcurrin profile image
Michael Currin

Ah okay thanks for explaining.

Now I am curious why other languages don't do single threaded. or maybe it depends on the task and entire language setup. Or is it the difficulty of doing an event loop well that meant it took a long time for node to eventually be the first?

Thread Thread
 
koresar profile image
Vasyl Boroviak

Good questions. I wish I knew the answers.

Thanks for being open minded. You are a rare breed. 👍

Thread Thread
 
michaelcurrin profile image
Michael Currin

I've updated my post to be more balanced and to point to your initial comment

Thread Thread
 
koresar profile image
Vasyl Boroviak

Looks great! 👍👍👍