News for hackers. Stuff that matters.
Re:15 Years of Concurrency by pcwalton on Thursday December 01, 2016 @04:46PM (#13083838)
No, it's not. Data sharing is essential for performance.

Besides, the problem with models like those of JS (today, anyway) is that they don't even let you read concurrently, even if there are no mutators.

Re:15 Years of Concurrency by nostrademons on Thursday December 01, 2016 @06:04PM (#13084453)
It's important to distinguish performance (making the most out of a single computer) from scalability (making an overall system that continues to perform well when you throw lots of hardware at it). Data-sharing is essential for performance. It's anathema to scalability, not least because different processes in different datacenters aren't going to be able to share data without explicit messages between them anyway.

Node.js (and PHP, for that matter) often don't get enough credit for their scalability in the large. Perhaps this is because the surrounding distributed-systems ecosystem hasn't grown up around them yet the way it has around, say, Erlang or Java or even C++, but architecturally they're pretty sound if you want to build distributed systems that scale across many computers.

Re:15 Years of Concurrency by pcwalton on Thursday December 01, 2016 @06:52PM (#13084738)
If you're looking at things solely from a distributed systems perspective, sure. But I work on graphics. It'd be irresponsible for me not to embrace shared memory, where it's so essential for performance it's practically impossible to contemplate not having it. (Imagine if you couldn't have multiple fragments read from the same texture!)

We should use all the hardware resources available to us. If our programming models don't allow us to do that, then we should replace them with models that do.