gprof 的时间采样问题

2023-12-04

我正在尝试使用 gprof 分析一些用 g++ 编译的 C++ 代码,包括选项 -pg。然而,尽管该程序在我的计算机上运行需要 10-15 分钟(CPU 已满),但 gprof 生成的表中的 % time、cumulative Seconds 和 self Second 列完全是 0.00s!调用列包含看起来正确的数据,例如对基本函数的超过 150,000 次调用。以下是收集的数据示例:

  %   cumulative   self              self     total           

 time   seconds   seconds    calls  Ts/call  Ts/call  name

  0.00      0.00     0.00   156012     0.00     0.00  perm::operator[](int) const

  0.00      0.00     0.00   153476     0.00     0.00  perm::perm(void)

该程序不使用字符串,唯一的 #include 是 iostream (仅用于输出最终答案),因此它不会因为字符串查找和比较或其他类似的缓慢外部函数而变慢,如本问题中所建议的:无法使用 gprof(gnu 分析器)累积时间

程序本身退出正常,我没有理由相信配置文件数据没有正确写入(如此处建议的那样:gprof 报告没有累积时间)

由于这一切都是在 Windows 7 中完成的,因此尝试使用 Shark 或 Valgrind 不是一个选择。

是否有原因记录每个函数花费了 0.00 秒?


gprof不计算任何阻塞时间,例如 I/O 或其他内容。此外,在任何在子函数中完成所有工作的例程中,“自身时间”通常都非常小,例如,如果您主要使用 DLL 中的库,而 gprof 无法看到它。检查这个答案。

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

gprof 的时间采样问题 的相关文章

  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 在搜索 List 时,为什么 Enumerable.Any(Func predicate) 比带有 if 语句的 foreach 慢

    最近有件事引起了我的好奇心 Why is the Enumerable Any Func
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • 双精度类型二维多维数组的 pinvoke 编组作为 c# 和 c++ 之间的输入和输出

    我有以下我正在尝试解决的双物质类型的 2d 多维数组的 c 和 c pinvoke 编组 我已经查看了以下热门内容以获得我目前拥有的内容使用双精度数组进行 P Invoke 在 C 和 C 之间编组数据 https stackoverflo
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop

随机推荐

  • 分析 PHP 脚本的最简单方法

    分析 PHP 脚本的最简单方法是什么 我很想添加一些东西来显示所有函数调用的转储以及它们花费了多长时间 但我也可以在特定函数周围放置一些东西 我尝试尝试微时间功能 then microtime myFunc now microtime ec
  • 使用clock()函数调度任务时出现问题

    我想以不同的时间间隔安排任务 0 1 秒 0 9 秒 2 秒等 我使用 Clock C 函数返回自模拟开始以来的滴答数 并使用 CLOCKS PER SEC 将滴答数转换为秒 但我注意到当瞬时为浮点时 任务不会被调度 但是当它是一个整数 这
  • 如何将sql返回转换为自定义对象? [复制]

    这个问题在这里已经有答案了 在我的代码中 我在存储参数的 SQL 表上进行 SELECT 我想以这种方式输出一个 OBJECT inscription max 0 inscription open false liste attente m
  • 为什么在一种情况下,大数相乘会得到错误的结果?

    这看起来很简单 但我没有任何答案 当我写的时候 System out println 100 1000 10000 100000 System out println 100 1000 10000 100000 0 它返回这些值 27644
  • Html Select 标签中的多行选项可能吗?

    是否可以 仅使用 HTML 显示select with option每个跨越多行 无法使用 html 选择控件 您可以使用 JavaScript 和 css 将 div 用作下拉列表
  • Boost Spirit 因琐碎语法而编译错误

    我正在尝试使用以下规则编译解析器 else statement lit else gt statement if statement lit if gt gt gt gt expression gt gt gt gt statement g
  • 如何在 Java 中将 UTF-8 转换为 US-Ascii

    我们有一个系统 客户 主要是欧洲客户 输入文本 UTF 8 必须将其分发到不同的系统 其中大多数系统接受 UTF 8 但现在我们还必须将文本分发到仅接受美国的美国系统 Ascii 7 位 所以现在我们需要将所有欧洲字符转换为最接近的美国 A
  • 当非浏览器客户端的安全 webapi 时,与 ADFS 一起使用什么协议

    我们的 webapi 端点用于基于浏览器的客户端 Angular 和基于非浏览器的客户端 restsharp 并且 webapi 目前使用被动 WS Federation 作为协议和 ADFS 作为 STS 进行保护 目前 我们对 Rest
  • Django HTML 模板中的 Javascript 变量

    我正在编写一个 Django 应用程序 虽然对 Django 有点熟悉 但对 JavaScript 相当不熟悉 我将几行 JavaScript 添加到我的一个页面中以包含地图 该脚本仅包含初始化地图 然后根据数据库中保存的信息添加标记 鉴于
  • ClearCase UCM - 如何从最新基线仅获取最新版本

    如何从最新基线仅获取最新版本 例如 第一次在 ClearCase 中 开发人员第一次签入 我们会有 a zip b zip ClearCase 执行增量基线基线 1 然后构建工具进来 它是否获得工件 并部署它 一切看起来都很好 第二次在 C
  • 完全取消变基

    我执行了这样的变基 git rebase onto master new background processing export background processing 这没有达到我想要的效果 所以我执行了重置 git reset h
  • Asp.net core 2.0网站,缓存控制未按预期工作

    在我的 asp net core 2 0 应用程序中 我尝试将过期标头 缓存控制 添加到所有静态资源的响应标头中 但它并没有全部添加 下面是我的代码 public IServiceProvider ConfigureServices ISe
  • 在 CodeIgniter 3 中删除 index.php 时出现的问题

    我想访问我的网址而不需要index php在代码点火器中 这是我的Blog控制器 class Blog extends CI Controller public function index echo hello world public
  • TypeError:对象不是 Node.js 函数

    我正在 Lynda com 上进行 Node js 基本培训 跟随视频但我在终端中收到此错误 类型错误 对象不是函数 节点模块 飞行 index js var count 0 destinations var Flight function
  • MapKit 的点击手势

    目前我有一张地图 其中有几个Annotations For the Annotations I have func mapView mapView MKMapView didSelect view MKAnnotationView Do y
  • 解密销售合作伙伴 API 报告

    我正在尝试解密销售合作伙伴 api 报告 但在解密时我在 decipher final 附近收到此错误 Node Error error 0606506D digital envelope routines EVP DecryptFinal
  • Android 自定义字体 - 适用于 Actionbar、Toast、Dialogs 等系统组件

    我正在开发翻译成不支持的语言的应用程序 设备上缺少字体 因此 我向应用程序添加了字体 并更改了所有 TextView EditText 按钮的字体 我还可以更改 WebView 中的字体 但现在我需要更改所有系统组件的字体 操作栏 标题下拉
  • java 如何让定时器返回时间

    一旦我开始运行计时器 如何让它返回已经过去了多长时间 这个定时器可以设置可见吗 作为第二个参数传递给 Timer 构造函数的对象实现了 ActionListener 通过该接口 它会在计时器发出的每个警报时接收对其 actionPerfor
  • 使用 Python“请求”模块进行代理

    只是一个关于优秀的简短而简单的介绍RequestsPython 的模块 我似乎无法在文档中找到变量 代理 应包含的内容 当我向它发送一个带有标准 IP PORT 值的字典时 它拒绝了它要求的 2 个值 所以 我猜 因为这似乎没有在文档中涵盖
  • gprof 的时间采样问题

    我正在尝试使用 gprof 分析一些用 g 编译的 C 代码 包括选项 pg 然而 尽管该程序在我的计算机上运行需要 10 15 分钟 CPU 已满 但 gprof 生成的表中的 time cumulative Seconds 和 self