在I / O C ++中花费的概要分析时间

时间:2012-04-10 08:11:43

标签: c++ linux profiling

我有一个功能需要11秒。 我想分析它在I / O上花费的时间。 是否有任何工具可用于分析函数内的I / O时间花费? 哪个可以给出像

这样的静力学
Total Time  I/O TIME Function Name
x           y        f  

1 个答案:

答案 0 :(得分:3)

This method will tell you.

暂停10次。 每次看堆栈。

如果您在执行IO的过程中捕获它,比如6个停顿,那意味着大约60%的时间都在IO中。

如果您想知道函数F请求的IO花费了多少,只需计算当函数F在堆栈上时正在执行IO的样本数。

gprof 不会告诉你这个,因为它会在IO期间暂停采样。)

补充:或者,您可以在功能F中删除IO调用,并在有和没有IO的情况下测量总时间。