+1 to C++ module using uv_queue_work() for computation intensive stuff. If you have some experience with C++ native Node modules are pretty easy to write, and there are plenty of good examples. It's arguably easier than writing performance-optimized javascript :-)
On Wednesday, April 10, 2013 12:11:25 AM UTC-7, Raynos wrote: > > Doing cross thread communication is another example of an asynchronous > computation. > > What's important here is not that you can run 4 functions in parallel and > utilize 4 cores but that if you run one async bcrypt function it won't > block the main thread. > > Doing a CPU bound computation in C++ in a thread from libuv is exactly the > correct way to do CPU bound operations! > > > On Tue, Apr 9, 2013 at 10:54 PM, Andrey <[email protected]<javascript:> > > wrote: > >> Don't forget that there is thread pool in node, and some native modules >> provide async api for CPU-bound functions and use pool internally. >> For example, if you try to benchmart bcrypt[1] using synchronous api >> you'll get 100% CPU (one core busy), and if you run 4 bcrypt functions in >> parallel using asynchronous api you'll get 4 cores busy and roughly 4 >> times better running time. >> >> (1) https://github.com/ncb000gt/node.bcrypt.js/#usage---async >> >> >> On Wednesday, 10 April 2013 08:02:44 UTC+10, Mil Werns wrote: >>> >>> I have a simple question: When should I use callbacks? >>> >>> Currently, I'm only using callbacks in I/O cases (file, database and >>> network access). >>> My application has to iterate over a lot of big arrays and combines this >>> data to new objects. I'm doing this with a standard (synchronous) for-loop, >>> because this task needs only CPU power. So there would be no benefit to use >>> an asynchronous call. >>> >>> Is this assumption correct? >>> Can you please give me other examples for useful callbacks other than >>> those mentioned above? >>> >>> Thank you >>> >> -- >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected]<javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
