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


Reply via email to