Re:Ruby: We have decided to go forward to 3.0 this year
by 3np on Tuesday September 01, 2020 @12:08AM
(#24338472)
NodeJS is single-threaded while Ruby has native threads and "fibers" - what makes you say you wouldn't be able to utilize additional cores in Ruby?
[ Parent
| on HN ]
Re:Ruby: We have decided to go forward to 3.0 this year
by schneems on Tuesday September 01, 2020 @12:21AM
(#24338533)
Fibers are still restricted by the GVL. Threads are also restricted by the GVL. The only "true" concurrency in MRI is to fork a process.
Re:Ruby: We have decided to go forward to 3.0 this year
by winrid on Tuesday September 01, 2020 @12:26AM
(#24338555)
You can. You can with Node too.
With Node you can just use workers. I have tools I wrote in Node that can max out my 16 core MacBook.
Re:Ruby: We have decided to go forward to 3.0 this year
by 3np on Tuesday September 01, 2020 @12:30AM
(#24338568)
Some major differences here are how they interface with I/O and the mechanisms around memory sharing.
Nodejs workers are more like webworkers and mostly suitable for proper CPU-intensive parallelization whereas in Ruby it's not uncommon to run e.g. multithreaded web server in the same process and namespace.