On Mon, Feb 23, 2009 at 07:38:14AM +0100, Stefan Bruens wrote:
> Hi,
> 
> attached is a new version for fusb_linux.cc.
> 
> The current implementation uses three std::list lists for free, pending and 
> completed urbs, so submitting a single urb causes three allocs and three 
> frees 
> (pushing and popping of the list).
> 
> The new implementation uses a circular list for the urbs, where each urb is 
> marked as free, pending or completed. As the total number of allocated urbs 
> is 
> constant, no allocs or frees are needed.
> 
> Benchmark:
> usrp/host/apps/test_usrp_standard_tx -B 512 -N 64 -M 128
> 
> old code needs ~990e6 instructions, new code 690e6 instructions. The call to 
> usrp_basic_tx::write goes down from 380e6 to 80e6 (so almost down to a fifth 
> ...), the remaining instructions is the pattern fill for the sample buffer.
> 
> Regards,
> Stefan

Thanks!

Stefan, please tell me again how you measured the instruction count?

Also, if you haven't already, please send in the form that starts the
copyright assignment.  Contact me off-list if you've got any more
questions about that.

Eric


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

Reply via email to