|
From: | Marcus Müller |
Subject: | Re: [Discuss-gnuradio] Profiling Gnuradio message based blocks |
Date: | Tue, 15 Aug 2017 16:27:05 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
Dear Jeff, from the top of my head: the perf counters count the time a block spends in its work(), how many items were consumed and produced in calls to work(), as well as things as buffer fillage and such. Well, all these things don't apply to message passing, since there's no call to work or ring buffers involved. So, you'd need to formulate exactly what you'd want to measure, and in your block's constructor add the RPC variable, and make sure your message handler function does the benchmarking. In general, you should probably add these variables to
gr::block's constructor and have a
"start_perf_counters_msg_handling" or so method (similar to the
start_perf_counters() method) that you call before entering the
message handling code in tpb_thread_body. But note: this code is very ugly. Personally, tpb_thread_body shouldn't be doing the message handling, that should've been incorporated in block_executor. Now that you try to add perf counters, that introduces additional complexity, but that's still manageable. But it's yet another "bolt-on" for the current scheduler that makes it less beautiful :/ . Gotta rewrite that stuff (someday). Cheers, Marcus On 08/15/2017 03:51 PM, Jeffrey Grasty
wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |