Re: Making BSD calls from a CFM shared library - performance?
Re: Making BSD calls from a CFM shared library - performance?
- Subject: Re: Making BSD calls from a CFM shared library - performance?
- From: Quinn <email@hidden>
- Date: Thu, 25 Mar 2004 11:01:48 +0000
At 11:20 -0800 24/3/04, Schaffernoth, Tom wrote:
The question I have is regarding performance. From the initial QA
evaluation, looks like the BSD is a bit slower than the OT. Is there anyway
to speed up the network piece when I come through a CFM shared library?
I'd really like to know what you mean by "is a bit slower". What are
the characteristics of the test? Is it a throughput test or a
latency test?
The time taken to transition from CFM to Mach-O is miniscule compared
to the time taken for network packets to travel on the wire. It's
very likely that the performance problem you're seeing is not caused
by your network code per se but by how the higher-level code passes
data to and receives data from your networking code. Specifically:
1. What sort of threading model are you using? In your code I see
lots of SyncYieldCycles calls, which indicate that you're using some
sort of cooperative threading. Cooperative thread and network
performance are mortal enemies (-:
2. How do you block waiting for data to be received? Are you using
blocking or non-blocking receives? If non-blocking, what mechanism
do you use to wait for all the data in a particular message to
arrive? If blocking, how do you yield time back to the host
application?
S+E
--
Quinn "The Eskimo!" <
http://www.apple.com/developer/>
Apple Developer Technical Support * Networking, Communications, Hardware
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.