什么是函数 __tcf_0? (使用gprof和g++时看到)

2023-11-21

我们使用 g++ 4.2.4,我试图找出代码中的一些性能问题。

我正在运行 gprof 来生成配置文件,并且我得到以下“奇怪的信息”,因为最昂贵的函数是 __tcf_0:

Each sample counts as 0.01 seconds.
 %   cumulative   self              self     total           
time   seconds   seconds    calls  ms/call  ms/call  name    
40.00      0.04     0.04        1    40.00    95.00  __tcf_0

然后,该函数似乎调用了我的大部分用户函数(即,它是从 main 调用的函数)。我为此找到的最接近的解释是here,但该链接引用静态对象和 atexit,我认为这不适用于我的情况。

如果有帮助,我正在使用 Boost(program_options 和 fusion)和 HDF5 库。

UPDATE:

我在构建时使用的命令是:

g++  -Wreturn-type -Wunused -Winline -pg  -DLINUX -DHAS_SETENV \
    -DFUSION_MAX_MAP_SIZE=15 -DFUSION_MAX_VECTOR_SIZE=15  -g -O0 \
    --param large-function-growth=300 --param inline-unit-growth=200

__tcf_0 似乎确实是一个调用静态对象析构函数的函数,并且为每个静态对象注册,在退出时调用(理所当然地认为上面所说的这一页)

现在,你的 gprof 的结果很奇怪,因为花费大部分时间的函数只花费了 0.04 秒,这意味着整个程序需要 0.1 秒来执行。如果我没记错的话,我的猜测是你没有正确配置。您是否在启用分析的情况下编译代码?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是函数 __tcf_0? (使用gprof和g++时看到) 的相关文章

随机推荐

  • 透明、无边框的 ProgressDialog

    我有一个ProgressDialog我已将其放置在屏幕底部 以免与徽标重叠 我想做的是为ProgressDialog删除背景和边框 我在这里没有任何运气 有谁知道如何应用这种风格 您是否尝试过将背景设置为透明颜色 这个答案给出了详细的代码示
  • 如何为 HttpClient 请求设置 Content-Type 标头?

    我正在尝试设置Content Type的标头HttpClient我调用的 API 所需的对象 我尝试设置Content Type像下面这样 using var httpClient new HttpClient httpClient Bas
  • 如何处理android中弹出窗口内按钮的onclick事件

    在我的应用程序中 我最初在屏幕上有一个按钮 然后在onclick按钮时 应该会打开一个弹出窗口 在弹出窗口中 我有一个图像按钮 并且onclick通过这个按钮 我想开始一个活动 弹出窗口打开 但我不明白如何处理onclick弹出窗口内的图像
  • 如何将科学记数法转换为小数形式?

    虽然很基本 但我在任何地方都找不到答案 如何禁用小标题中的科学记数法 并让小标题显示小数 My data 我有一个简单的小题 结果是lm gt broom tidy library tidyverse I used dput to get
  • 每侧有 2 个 y 轴且比例不同的 ggplot

    我需要在一个图表中绘制一个显示计数的条形图和一个显示比率的折线图 我可以单独完成这两个图表 但是当我将它们放在一起时 我会缩放第一层 即geom bar 与第二层重叠 即geom line 我可以移动轴吗geom line向右 Answer
  • 屏蔽 CALayer - iPhone

    我正在为 iPhone 创建一个自定义开 关切换开 关 类似于标准开关 并且我正在设置滑块的蒙版 但调用 myView layer setMask maskLayer 设置遮罩层相对于其遮罩层的位置 而不是相对于遮罩层的容器层的位置 对于这
  • 如何让 raw_input 重复直到我想退出?

    说我想用raw input像这样 code raw input Please enter your three letter code or a blank line to quit under if name main 如何让它在每次运行
  • 如何从头开始构建具有人类可读角度的旋转矩阵?

    一直阻碍我进行 3D 编程的一件事是无法理解数学是如何运作的 我可以使用方法和函数在编程流程中很好地遵循数学 那么对我来说一切都清晰且合乎逻辑 但在数学符号中 我只是无法从中得到正面或反面 我一直在阅读网站 观看一些机构的视频试图解释这一点
  • 正则表达式删除多行注释

    我正在尝试使用这个正则表达式 JS g 取代 sdandsads 什么也没有 但它不起作用 为什么 o O 点捕获除换行符之外的所有内容 如果 dotall 为 false 所以要么使用 dotall 正如其他答案 评论中提到的 这在 ja
  • Android:折叠线性布局而不是折叠工具栏

    我正在尝试在单个片段中创建主 详细信息事务 我考虑使用 LinearLayout 作为标题的编辑文本的容器 然后是 RecyclerView 了解详细信息 如何实现类似于 CollapsingToolbar 效果的 LinearLayout
  • Kibana 报告字段存在冲突,我该如何解决?

    在 Kibana 中 我注意到在刷新索引模式后 我的一个字段显示为conflicted Example 所以我知道这是因为 Elastic Search 在该字段中发现了不同类型的值 我如何确定这一点 它导致我的视 觉效果破坏 因为它们无法
  • C# 两组排序数字最快的交集

    我正在应用程序的时间关键部分计算两组排序数字的交集 这个计算是整个应用程序的最大瓶颈 所以我需要加快它的速度 我已经尝试了很多简单的选项 目前正在使用这个 foreach var index in firstSet if secondSet
  • 如何理解 Yahoo! 的原始 HTML使用Python检索数据时的财务?

    我一直在尝试从 Yahoo 检索股票价格 金融 比如苹果公司 我的代码是这样的 使用Python 2 import requests from bs4 import BeautifulSoup as bs html http finance
  • 获取不带 Content-Disposition 的文件名

    我几天来一直在寻找这个问题的解决方案 但找不到任何解决方案 我想使用网络客户端从网络服务器下载文件 下载工作正常 但我无法获得真实的文件名 这对我来说非常重要 我在很多主页上看到 文件名应该保存在 Content Disposition H
  • Android 不使用 XML 指定像素单位(如 sp、px、dp)

    是否可以在代码中指定像素单位 我的意思是 假设我有一个布局 并且我希望大小为 20dp 那么有什么方法可以在不编写布局 xml 的情况下做到这一点 在一个视图中 DisplayMetrics metrics getContext getRe
  • 全屏视频无黑边

    我遇到的问题是 视频总是在侧面或顶部 底部出现黑条 具体取决于屏幕尺寸 知道如何让它始终全屏显示而不显示恼人的黑条吗 并且不使用插件 这是我的标记 div div class box iframe box width 1280 height
  • 使用 java 在 Selenium WebDriver 中垂直向下滚动和向上滚动

    有人可以帮我自动化吗向下滚动功能 with 网络驱动程序 using Java 就我而言 对于雅虎邮件 Sign In 正在显示 visible 一旦我垂直向下滚动鼠标 滚动到页面的某个元素 JavascriptExecutor drive
  • 通过替换求解递推式 T(n) = 2T(n/2) + θ(1)

    所以我很确定它是 O n 但也可能不是 但是如何通过替换来解决它 如果假设 T n 首先 我想清楚地假设 1 k 某个常数 接下来 继续使用替换法 我们得到 T n 2T n 2 1 2T n 2 k 2 2T n 4 k k 4T n 4
  • selenium.common.exceptions.SessionNotCreatedException:消息:无法通过 Selenium 找到与 Firefox 46 匹配的功能集

    我这里肯定有一些版本不匹配 因为我无法使用 Python 来启动 Selenium 来启动 Firefox Web 浏览器 我使用旧版本的 Firefox 因为这里的其他人都使用相同的旧版本 Python 并且对他们来说旧版本的 Firef
  • 什么是函数 __tcf_0? (使用gprof和g++时看到)

    我们使用 g 4 2 4 我试图找出代码中的一些性能问题 我正在运行 gprof 来生成配置文件 并且我得到以下 奇怪的信息 因为最昂贵的函数是 tcf 0 Each sample counts as 0 01 seconds cumula