有没有办法可以对GNU Radio中的函数和块进行时序分析。
通常情况下,我会使用timespec然后将它们放在我要检查消耗时间的几个点上。
例如:
ret=clock_gettime(CLOCK_REALTIME,&tin);
purrrr();
ret=clock_gettime(CLOCK_REALTIME,&tout);
time_cons = tout.tv_sec * 1000000000 + tout.tv_nsec - tin.tv_sec * 1000000000 - tin.tv_nsec
我们在GNU Radio中有比这更有效和方便的东西吗?
答案 0 :(得分:0)
是的!这正是性能计数器的实现方式。您可以使用控制端口查询那些。有关如何使用它们的信息,请参阅doxygen page。您甚至可能想要导出自己的绩效指标!
另一个受欢迎的选择只会使用perf
的权力。如果您在mailing list上搜索“perf record”和我的名字,您会发现很多用法示例。
简而言之:在函数中放置要基准的内容,在其上运行perf record -ag abcd
,然后使用perf report
分析结果。