On Fri, Mar 2, 2012 at 14:14, Erik Dubbelboer <e...@dubbelboer.com> wrote:
> On Thursday, March 1, 2012 11:50:21 PM UTC+1, Ben Noordhuis wrote:
>>
>> On Thu, Mar 1, 2012 at 22:16, Erik Dubbelboer <e...@dubbelboer.com> wrote:
>> > Hi Everyone,
>> >
>> > I was wondering what the status is for this API. I couldn't find
>> > anything in
>> > the current documentation so I'm guessing it hasn't been implemented
>> > yet?
>> >
>> > If this is the case I guess I could take a look at it since it would
>> > really
>> > be nice to have this for machines with a lot of cores in them.
>>
>> The relevant code moved out of node and into libuv (and it's something
>> of an implementation detail there, uv-win has its own thread pool).
>>
>> I'd be interested in benchmarks that show (or don't show as the case
>> may be) when the number of threads is a bottleneck and what the sweet
>> spot is. Farming out I/O to a thread pool definitely hurts performance
>> but there's not enough data to make reasoned guesses about the actual
>> impact or the best remedy. Is that something you feel like taking on?
>
>
> I think it's very hard to do any meaningful benchmarks.
>
> I did some simple testing. I wrote a module that does an usleep(1000 *
> (rand() % 10)); to simulate doing some work. Then I wrote a simple script
> that starts a webserver that does 3 calls to the module before finishing the
> request.
>
> Then I ran the following command to see how fast it would run (only
> interested in the total time).
> ab -n 1000 -c 10 http://localhost:9090/
>
> The results are quite obvious:
> - with 4 threads around 3.5 seconds total
> - with 8 threads around 1.7 seconds total
>
> With twice as many threads it gets twice as fast because in this simple
> benchmark the blocking calls are the bottleneck.
>
> My company runs a real life node application which handles nearly 1000
> requests per second. It uses only redis-node and
> https://github.com/kuno/GeoIP as C modules but I'll see if I can do some
> benchmarks on this to see if the number of threads make any difference.
> Probably not since geoip is very fast and redis itself it single threaded
> and blocking. But we'll see.

Maybe I should've mentioned that I'm mostly interested in file I/O,
that still being something of a weak spot in Node. :-)

-- 
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 nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to