Hacker News new | ask | show | jobs
by toast0 583 days ago
I'm not in the node ecosystem, but can't you "just" use node worker-threads for multicore, and run node on multiple machines for multi-machine?

If you want the features of BEAM/dist plus running some javascript, I'd suggest you build your coordination layer in a BEAM language and have some glue to run javascript as a spawned port, or possibly connect node as a c_node to dist.

1 comments

Nobody really uses multithreading for node. I mean I'm some projects do (maybe pnpm?) but the threading support isn't great and the event loop performs well.
Almost everyone running Node in a machine with multiple cores is using multithreading.

Node is multithreaded by default. I believe the default setting is using 4 threads. Most of Node is written in C++.

The JS code written by end users is single threaded (most of it at least) but IO etc is all executed with libuv.

https://docs.libuv.org/en/v1.x/threadpool.html#threadpool