如何使用Google基准测试在一个完整的应用程序中对一个功能进行基准测试?

时间:2019-12-11 10:15:00

标签: c++ performance benchmarking google-benchmark

应用程序工作流程如下:

init();
while(packet.read()) {
    if (filterpacket(packet)) 
       process(packet); // function to benchmark.
}

在一个完整的应用程序运行过程中,我需要测量process(packet)的时间。在Google基准测试中单独调用process(packet)无效,因为流程会更改一些内部数据结构,这会影响下一个调用process(packet)的时间。为每个内部状态制作固定装置似乎也违反直觉。

我该如何使用Google基准?

我知道我可以简单地制作一些ifdefs / flags并制作应用程序版本来测量process(packet)所花费的时间,但这会违反Google基准测试的目的。我process(packet)的预期时间太短,约为200ns。

0 个答案:

没有答案