Remix.run Logo
martinald 9 hours ago

Agreed. It's sort of crazy how little people understand about multicore software design given nearly everyone is using machines with >8 CPU cores these days (even a cheap android phone tends to have 8 cpu cores these days).

In python and node it is _so_ painful to use multiple cores, whereas in .net you have parallel for loops and Task.WhenAll for over a decade. Java is similar in this sense that you don't have to do anything to use multiple cores and can just run multiple tasks without having to worry about passing state etc between 'workers'.

This actually becomes a really big problem for web performance, something I'm deeply passionate about. Not everything is just IO driven holdups, sometimes you do need to use a fair bit of CPU to solve a problem, and when you can't do it in parallel easily it ends up causing a lot of UX issues.

fijiaarone 7 hours ago | parent | next [-]

On most cloud deployments, you get one shared “virtual” core — whatever that means.

UltraSane 7 hours ago | parent [-]

No you get how ever many you choose and are willing to pay for. 1vCPU is not good for very much.

UltraSane 7 hours ago | parent | prev [-]

Even Guido van Rossum admits that if he had known how common high core count CPUs would become he wouldn't have chosen to use the GIL