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]> 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] > 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. > > > -- -- 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.
