禁用对某些函数及其所有后代的分析

时间:2015-07-19 07:59:59

标签: multithreading gcc gprof

是否可以使用函数属性来禁用对某个函数的分析?我想这样做是因为我需要分析在程序的多线程部分中花费的时间。我不关心特定线程的细节,只关心在整批中花费的时间。

Timegraph:

                  +--------------------------------+
                  +--------------------------------+
---Main thread----+ Main thread waits for workers  +----Main thread continues-----
                  +--------------------------------+
                  +--------------------------------+
                 t0                                t1

我希望配置文件输出正确测量t1-t0和批处理的调用次数,但mcount不是线程安全的,因此必须以某种方式排除并行运行的内容。

Valgrind是不行的,因为实际的公共汽车速度是主要问题。

1 个答案:

答案 0 :(得分:0)

我用最强大的C ++功能}解决了它。在范围的顶部,添加一个存储当前时间的对象。让它的析构函数再次读取时间并消除差异。将输出写入文件。