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
