sendto/read sys call behavior
sendto/read sys call behavior
- Subject: sendto/read sys call behavior
- From: Sam Pullara <email@hidden>
- Date: Wed, 03 Aug 2011 09:58:27 -0700
In testing Redis (C) and a Redis clone (Java), I've believe that I have found that the number of messages over per second possible is limited by the kernel. During the tests the kernel_task reaches 100% CPU with half of it spent in sendto and half of it spent in read (analyzed with Instruments.app). Both the client and server, though using many threads, use less than 100% CPU each (this is on a 6-way Mac Pro, maxes out at 60 messages / ms). When I perform the same test under Linux 2.6 running inside a VMWare VM on the same hardware, I can actually reach twice the number of messages per second. I've repeated the experiment with multiple processes and get the same result.
Is this a well known issue with Darwin? I couldn't find any reference to this level of lock around access to the networking stack.
Thanks,
Sam
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden