This reminds me of a question. What do you guys use for profiling native code 
on Linux? I have a lot more experience on Mac OS where we have Shark, 
Instruments and the like.

-Marc

On Nov 4, 2010, at 2:23 PM, Josh Blum wrote:

> Well, there is extra overhead. A "pirate" thread in the the receive path 
> spins on the socket and inspects the contents. The packet may be an 
> asynchronous message packet for flow control or destined for the user. Or it 
> may be a data packet, in which case it is placed into a queue to be popped 
> off by the device::recv() call. No extra memcopies, its just managing 
> pointers.
> 
> Could this pirate thread be removed? If the async messages came in over a 
> different UDP port, and the multi-device buffer alignment logic was 
> re-written to be event driven (when recv() is called). Then yes. And I will 
> probably implement this when I get the time.  :-)
> 
> So, my best guess is that you are mostly seeing the overhead of the thread 
> inspecting the packets. Of course there is also additional overhead added by 
> using UDP, parsing VRT packets, parsing inline message packets.
> 
> 
> Thanks for testing it out BTW!
> -Josh
> 
> On 11/04/2010 10:46 AM, David Campbell wrote:
>> Hi All,
>>    I've noticed that the C++ interfaces provided in gnu-radio and UHD for 
>> usrp2
>> data streaming are CPU-intensive (UHD moreso than gnu-radio).  I am 
>> wondering if
>> there are easy ways to mitigate this or are there plans in the future to
>> diminish these.  For UHD a decimate by 16 process chews up 75% of a CPU just 
>> on
>> the uhd::device::recv functiion (not much less even when I use
>> RECV_MODE_FULL_BUFF and size the buffer to be 100x the size of a single
>> packet).  For gnuradio's  the CPU utilization is more like 36% - still a lot.
>> 
>>   I may try to recode some of the lower-level interfaces in UHD if there is 
>> not
>> an easy way to help improve CPU utilization.
>> 
>>   Thanks for your help,
>> David
>> 
>> 
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> Discuss-gnuradio@gnu.org
>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to