On Wed, Jan 16, 2013 at 11:30 AM, Atul D. Patil <[email protected]> wrote:
> I was going through your book on LIBUV. You mentioning: "Networking in libuv 
> is
> not much different from directly using the BSD socket interface"
>
> This made me little worried. I heard LIBUV encapsulates IOCP and its easier to
> work with LIBUV than working directly with BSD sockets. While, working 
> directly
> with BSD sockets involves understand nitty gritty of the IOCP, thread pools 
> and
> all that stuff.

What I meant was the the interface to libuv sockets is very similar to
the bsd socket interface, in terms of function names and arguments.
You don't need to understand IOCP, libuv will deal with it internally
on windows.
>
>
> Ok. Despite of this, let me try to put my query in shortest possible way:
>
> In the tcp-echo-server/main.c, we start listening and get callback
> on_new_connection for each new connection. Similarly, echo_read is callback we
> get when each client sends us request.
>
> Now as long as catering few thousands of connections is concerned, my question
> is:
>
> Does the library takes care of all aspects of the performance (viz. threads 
> and
> number of CPU cores, threadpool, IOCP etc.) and we end up getting "new
> connection", "client request" events nicely and we just need to process them

libuv directly interfaces with IOCP, it does not do any of its own
thread pooling based on CPU cores.
So performance will only be as good as IOCP gives on a single thread
(since libuv is a event loop system, there is only one thread). libuv
does provide primitives to get the number of cores and to spawn
threads and have each thread have its own event loop. You can also do
the same with processes. This may increase performance

Nikhil

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

Reply via email to