8 ms·
Node.js v0.4.9 released
- va_coder 15y agoAre there plans to take advantage of multiple cores automatically? Couldn't it do something like Nginx and spread the workload to multiple cores?
- tmcw 15y agoMight want to check out Cluster - http://learnboost.github.com/cluster/ http://learnboost.github.com/cluster/ (won't belabor the point about node/v8's architecture and multi-cores/systems)
- va_coder 15y agoThanks for the link. I guess I'm trying to figure out why there's so much excitement about a server that is not designed to spread the workload to multiple cores for you.
- kevindication 15y agoScalable networking doesn't require multiple cores, just good use of the select/poll mechanisms at your disposal (well, and bandwidth). If you've got a CPU bound problem, you might farm that out to something else.
- mcantelon 15y agoIt doesn't do everything, but it's exciting for a number of reasons. 1) Javascript is a nice, powerful language. It's easy to find JS programmers. Bonus: you can share code between the server and browser. 2) Node provides a clean slate for server-side web dev: fresh, largely asynchronous libraries delivered via a well-designed package manager (npm) that I don't cry when I have to use. 3) It's an accessible way to program asynchronous server-side TCP/IP applications. Socket.io (WebSocket sever with multiple transports to fallback to) is an example of why this is useful. The lack of interprocess communication that would help parallelize tasks between cores is the one thing that's lacking. AFAIK there are plans to address this (although given Erlang's maturity it will likely still be superior for this use-case) but even without that Node is very, very useful to many people right now.
- ianl 15y agoYou can just start up X instances of your server for X cores. This way you have completely independent processes running and maintain data independence without getting bogged down with synchronization and other messy issues.
- simonw 15y agoNode's sweet spot is I/O bound tasks, not CPU bound tasks.
- chrismealy 15y agoDoes anybody know if it's guaranteed to spread across your cores evenly (exactly one node proc on each core)? I skimmed the source but couldn't figure it out.
- baudehlo 15y agoNo. That's up to the OS.
- baudehlo 15y agoThe plan is to keep the core lightweight. What can be done in an add-on module should be done there. There are a couple of options for this, cluster as linked above, or something like hook.io[1] for erlang-like distribution across N nodes. [1] https://github.com/Marak/hook.io https://github.com/Marak/hook.io
- maw 15y ago#1087 Disabling SSL compression disabled with early OpenSSLs. Why didn't they use no triple negatives neither?
- mwill 15y agoIf I understand right it means that SSL compression is disabled by early OpenSSL versions so they are disabling it in node (presumably for compatibility?) I may have misunderstood. I can't actually think of a better way to word that.
- maw 15y agoIf your interpretation is correct, how about "When trying to use compression with old versions of openssl, return/throw an error"? Or, if no error happens, maybe "Make trying to use compression with old versions of openssl a no-op" would do.
- chopsueyar 15y agoI will make the appropriate changes. We appreciate your feedback.
- selectnull 15y agoImproved docs. Always a good feature. There are still some "still working on it" sections, but there is also new stuff there. Good work guys...
- tmcw 15y agoSweet, they fixed a bug I reported: https://github.com/joyent/node/issues/562 https://github.com/joyent/node/issues/562
- AntiRush 15y agoUnfortunately the fix for this bug: https://github.com/joyent/node/issues/767 https://github.com/joyent/node/issues/767 didn't seem make it in. It is in 0.5.0pre though, and I've found it quite useful.