【问题标题】:Clang or GCC equivalent of _PGOPTI_Prof_Dump_All() from ICC来自 ICC 的 _PGOPTI_Prof_Dump_All() 的 Clang 或 GCC 等价物
【发布时间】:2014-07-26 22:29:32
【问题描述】:

英特尔 C(++) 编译器具有非常有用的功能,可帮助进行配置文件引导优化。

_PGOPTI_Prof_Reset_All();
/* code */
_PGOPTI_Prof_Dump_All();

https://software.intel.com/en-us/node/512800

这对于分析共享库特别有用,可以在 Python 中与 ctypes 一起使用。

我一直试图弄清楚 Clang 或 GCC 是否具有类似的功能 - 显然没有。

【问题讨论】:

    标签: c gcc shared-libraries clang


    【解决方案1】:

    配置文件引导优化在 gcc 中的工作方式有所不同,它通过编译器开关启用。 See this question for PGO with gcc.

    PGO 刚刚进入 clang 并且仅从 3.5 版开始可用。 clang user manual 概述了如何使用它。

    【讨论】:

      【解决方案2】:

      事实证明,两者都有一个名为 __gcov_flush 的内部且未正确记录的函数来执行此操作。仅在source中解释。

      /* 在 fork 或 exec 之前调用 - 写出配置文件信息 到目前为止收集并将其重置为零。这样可以避免重复或 到目前为止收集的个人资料信息丢失。 */

      虽然它不如英特尔同类产品那么方便,并且需要一些体操才能使其工作。

      【讨论】:

        猜你喜欢
        • 2022-10-04
        • 2016-07-29
        • 1970-01-01
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 2011-12-17
        • 2011-05-31
        • 1970-01-01
        相关资源
        最近更新 更多