有没有办法对GNU无线电中的函数和模块进行时序分析?
通常,我会使用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电台里有没有比这更有效更方便的东西?
发布于 2017-01-27 21:43:25
是!这正是实现性能计数器的目的。您可以使用控制端口来查询它们。有关如何使用它们的信息,请参阅doxygen page。您甚至可能希望导出您自己的性能指标!
另一种流行的选择是简单地使用perf的功能。如果你在mailing list上搜索"perf record“和我的名字,你会发现相当多的用法示例。
简而言之:将您想要进行基准测试的内容放在一个函数中,对其运行perf record -ag abcd,然后使用perf report分析结果。
https://stackoverflow.com/questions/41890950
复制相似问题