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

Disable profiling on certain function and all its descendants

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

时间表:

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

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

Valgrind 不行,因为物理总线速度是主要问题。

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