使用gpreftools测试性能

参考文献:

  1. C++ 性能分析工具调研_性能分析工具 gperf perf vergi 比较-CSDN博客
  2. 性能测试工具CPU profiler(gperftools)的使用心得-CSDN博客
  3. gperftools使用方法和常见问题_pprof no nodes to print-CSDN博客
  4. c++ 分析 gperftools 总结 | Weakyon Blog

文章目录

  • 安装
  • 使用

安装

直接运行指令:

apt-get updatesudo apt install google-perftools

使用

gcc 编译指令中,添加:

-Wl,--no-as-needed,-lprofiler,--as-needed

注意,不要和 gprof 的指令 -pg 合用(它不能处理动态库中的函数,除非设置 -pg 重新编译一遍;它也不能设置 -O3 优化,不产生 gmon.out 文件),会发生冲突。

main.cpp 中,添加如下代码:

#include <gperftools/profiler.h>
int main(){ProfilerStart("test_capture.prof");...ProfilerStop();return 0;
}

执行 make,直接运行编译出的可执行文件,将在目录下写入 test_capture.prof 文件。

执行指令:

pprof ./main test_capture.prof --pdf > prof.pdfpprof ./main test_capture.prof --text > prof.txt

前者绘制树状图,展示各个函数的调用次数和时间开销(包括 .so 动态库,支持 -O3 优化)。后者打印列表,从大到小排列。两者的效果如下:

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/405037.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第2章-01-网站中的资源介绍

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲。 🎉欢迎 👍点赞✍评论⭐收…

微信小程序--30(网络数据请求)

1.小程序中网络数据请求的限制 只能请求HTTPS类型的接口必须将接口的域名添加到信任列表中 2.配置request合法域名 需求描述 希望请求某个域名下的接口 步骤 登录小程序管理后台→开发→开发设置→服务器域名→修改request合法域名 练习 注意事项 域…

【Linux】yum、vim、gcc/g++的使用

目录 一、Linux 软件包管理器 yum 什么是软件包 关于 rzsz 查看软件包★ 如何安装软件★ 如何卸载软件★ Linux 开发工具 二、Linux编译器-vim使用 vim的基本概念 vim的基本操作 vim正常模式命令集 vim末行模式命令集 vim操作总结 如果在vim界面不小心按了Ctrl …

Unity的粒子系统

目录 基础参数与模块 创建与编辑 功能与应用 实例与教程 结论 Unity粒子系统的最新功能和更新有哪些&#xff1f; 如何在Unity中使用Visual Effect Graph创建复杂粒子效果&#xff1f; Unity粒子系统的高级应用技巧有哪些&#xff1f; 在Unity中实现粒子系统时的性能优…

【计算机组成原理】二、数据的表示和运算:1.数值与编码(十进制二进制转换、BCD码、ASCII码、汉字编码、奇偶校验码、循环冗余检测CRC、海明码)

二、数据的表示和运算 文章目录 二、数据的表示和运算1.数值与编码1.1数据存储和排列❗1.2十进制转换1.2.1整数1.2.2小数 1.3二进制转换1.3.1 B->O1.3.2 B->H 1.4真值&机器数1.5 BCD码1.6 ASCII码1.7汉字与GBK1.8 UTF1.9检错码1.9.1奇偶校验码1.9.2循环冗余检测CRC1.…

CentOS7设置默认免密登录用户root

CentOS7设置默认免密登录用户root 步骤1、打开要更改的 CentOS 系统2、切换到root用户2、reboot重启系统 步骤 1、打开要更改的 CentOS 系统 2、切换到root用户 2、reboot重启系统

如何基于AI大模型来做数据治理?

在数字化时代的浪潮中&#xff0c;数据治理已成为企业管理的核心议题。随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;尤其是大型语言模型&#xff08;如GPT-4&#xff09;的涌现&#xff0c;AI大模型在数据治理中的应用正逐渐成为一种创新且有效的解决方案…

LLM才硬件(显存)需求

参考&#xff1a; https://www.hardware-corner.net/guides/computer-to-run-llama-ai-model/ GitHub - hiyouga/LLaMA-Factory: Efficiently Fine-Tune 100 LLMs in WebUI (ACL 2024) 直观的一个表&#xff1a;

利用队列收集单双击和长按按键

利用队列收集单双击和长按按键 引言 当我们仅仅通过在while循环里面进行判断按键类型的标志位, 然后进行操作的时候, 我们的最小例程很小, 所以能够实时的检测到按键,从而触发实验现象. 假如我们此时进入了一个事件处理函数呢 ? 并且这个这个函数的操作是不可被打断的, 如果此…

修改Docker的默认网段

1、确认修改前docker网段 [rootkfk12 ~]# ifconfig docker0 2、修改docker配置设置网段 [rootkfk12 ~]# cat > /etc/docker/daemon.json << EOF{ "registry-mirrors": [ "https://vh3bm52y.mirror.aliyuncs.com", "https://regi…

C:每日一题:字符串左旋

题目&#xff1a;实现一个函数&#xff0c;可以实现字符串的左旋 例如&#xff1a;ABCD左旋一个字符就是BCDA&#xff1b;ABCD左旋两个字符就是CDAB&#xff1b; 1、解题思路&#xff1a; 1.确定目标旋转k个字符&#xff0c;我们要获取字符串的长度 len&#xff0c;目的是根…

PyCharm单步调试

1、先在入口设置断点&#xff0c;再点击爬虫图标&#xff08;shift F9&#xff09;开始调试 调试图标如图&#xff1a; 2、蓝色光标表示当前运行在这行 3、快捷键 F7&#xff1a;进入当前行函数 F8&#xff1a;单步 F9&#xff1a;全速运行

Nuclei文件上传小Tips

前言 Nuclei对于文件上传类型Poc编写小Tips 平台 ProjectDiscovery Cloud Platform: https://cloud.projectdiscovery.io/ JsonPath: https://jsonpath.com/ Json解析&#xff1a; 在线json解析平台即可 案例 某康resourceOperations upload接口存在前台上传 具体接口&…

财务会计与管理会计(十一)

文章目录 快速切换日记账余额SUMPRODUCT、LOOKUP函数应用 销售业绩分段统计表SUMPRODUCT函数的应用 自动打印发票签收单VLOOKUP函数的应用 快速切换日记账余额 SUMPRODUCT、LOOKUP函数应用 C2SUMPRODUCT((A5:A100B2)*C5:C100) D2SUMPRODUCT((A5:A100B2)*D5:D100) E4公式1&…

【时时三省】(C语言基础)数据的额存储

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 例题1: i>0恒成立 会进入死循环 因为unsigned是无符号数 所以不可能会有负数 就会进入死循环 注意:i打印的时候如果它上面类型是无符号数 但是打印是%d 它会打印有符号数 例题:2 这个循…

集团数字化转型方案(二)

集团数字化转型方案通过整合物联网&#xff08;IoT&#xff09;、大数据分析、人工智能&#xff08;AI&#xff09;和云计算技术&#xff0c;构建了一个全面智能化的业务平台&#xff0c;从而实现了全集团范围内的业务流程自动化、数据驱动决策优化、以及客户体验的个性化提升。…

如何利用Jmeter从0到1做一次完整的压测

压测&#xff0c;在很多项目中都有应用&#xff0c;是测试小伙伴必备的一项基本技能&#xff0c;刚好最近接手了一个小游戏的压测任务&#xff0c;一轮压测下来&#xff0c;颇有收获&#xff0c;赶紧记录下来&#xff0c;与大家分享一下&#xff0c;希望大家能少踩坑。 一、压…

【Py Error002】python rarfile解压 Cannot find working tool

1.欢迎点赞、关注、批评、指正&#xff0c;互三走起来&#xff0c;小手动起来&#xff01; 2.了解、学习Python批量解压zip、rar压缩包文件&#xff0c;并结合日常的场景进行测试。 文章目录 1.问题详情2.解决办法3.参考链接 1.问题详情 Python代码解压rar压缩包报错&#xff…

秃姐学AI系列之:池化层 + 代码实现

目录 池化层 二维最大池化层 Max Pooling 池化层超参数 平均池化层 Mean Pooling 总结 代码实现 池化层 卷积对位置非常敏感的&#xff0c;但是我们在实际应用中我们需要一定程度的平移不变性。比如照明、物体位置、比例、外观等因素会导致图片发生变化。所以卷积对未…

ollama使用llama3.1案例

ollama安装和运行llama3.1 8b conda create -n ollama python3.11 -y conda activate ollama curl -fsSL https://ollama.com/install.sh | sh ollama run songfy/llama3.1:8b 就这么简单就能运行起来了. 我们可以在命令行中与他交互. 当然我们也可以用接口访问: curl http:…