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

NodeJS is great for applications with a lot of clients, but not for CPU intensive apps.

Well, you do with node what you do with anything: if you have 4 CPU cores, run 4 copies of your app. Problem solved.



With Node you have to manage the 4 cores if you're doing something where they need to communicate.


That works really well for handling requests for HTML pages, because they tend to render independently of one other. However, you run into trouble when you to make "Nodes" communicate, and the comment that the article is addressing specifically mentions interprocess communication.


Clearly it's not that easy unless you plan for it from the beginning. One benefit of Erlang is that you have to structure you code like a distributed application. You can mess that up, but it's harder.


This allows you to serve more clients simultaneously, but not to serve any given client faster i.e. you get higher throughput but not lower latency.


Imagine your app has 16GiB of precomputed tables in memory...


Node.js has a heap size limit. One of the biggest weaknesses IMO well before people complain about CPU cores.




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

Search: