Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why are Go/JVM/CLR better than V8? Is it the single threaded thing or is there more to it? I thought V8 would be performant especially for this very IO bound use case.


Part of the explanation comes down to the inherent limitations of a dynamic language (javascript) that also happens to be single-threaded by design. No matter how smart the javascript engine and no matter how much it can optimise the code, it can only go so far.

Here you can see a breakdown of different server technologies, and how they benchmark against each other for various typical web-server tasks: https://www.techempower.com/benchmarks/#section=data-r21 It's really interesting, but of course - not the full picture. And I hope people don't take it to mean that c++ and rust are always the best choice because they're the fastest in benchmarks.

"Potential performance" is not the only thing that matters. I personally happen to love working with nodejs and full-stack javascript (even though I'm a "polyglot"). I think that half the time, the theoretical advantages of more performant software platforms can be vastly outweighed by other variables.

It actually more depends on the circumstances of the project. What skills does the dev team have? What's the larger organisation tech landscape? How much does performance really matter for the use-case? How fast does the project need to go to market? How important is reliability? etc..

For example:

- If I'm a medical device company I sure as hell won't put javascript on pacemakers (I can only hope that's how they think) - I'm using something proven, with as less risks as possible, and with a looong "boring" history: C, C++ - If I'm a bank, I'm putting my bet on safe platform, backed by another big Enterprise like Java (Oracle), Dotnet (Microsoft) - And if I'm building a e-commerce site, it's totally reasonable to have a php-based backend, alongside a CMS like wordpress

In the case of storywise here, full stack javascript (actually typescript) will do just fine. The performance of Nodejs will be absolutely more than enough, I have no doubt.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: