valgrind 使用 kcachegrind 查看函数运行时间

linux下的profile工具GNU gprof和Valgrind 最近尝试了两个profile工具,gprof和valgrind,总体来说还是更喜欢Valgrind,不用重新编译程序就能看到结果,配合可视化程序也可以让统计显示的非常清晰。 1. gprof 2. Valgrind 阅读详情
安装

首先安装运行分析函数时间的工具 kcachegrind
下载安装包 http://kcachegrind.sourceforge.net/,下载最新的 tar.gz 文件
解压文件,进入解压之后的目录,从 README 中可以找到安装方式,这里记录一下

cmake .
make -j8
sudo make install

中间过程中遇到的一些,cmake的时候出问题,找不到一个依赖包

CMake Error at /usr/local/share/cmake-3.12/Modules/FindKDE4.cmake:100 (message):
  ERROR: cmake/modules/FindKDE4Internal.cmake not found in
  /home/zhangying/.kde/share/apps;/usr/share/kde4/apps
Call Stack (most recent call first):
  CMakeLists.txt:5 (find_package)

安装依赖包

sudo apt-get install kdelibs5-dev 

在 make install 的时候,如果没有加 sudo 也会报错

zhangying@neil:~/file/chrome_download/kcachegrind/kcachegrind-0.7.4$ make install
[  1%] Built target doc-handbook
[ 19%] Built target core
[ 21%] Built target cgview
[ 70%] Built target views
[ 70%] Built target kcachegrind_automoc
[ 78%] Built target kcachegrind
[100%] Built target qcachegrind
Install the project...
-- Install configuration: "RelWithDebInfo"
CMake Error at doc/cmake_install.cmake:49 (file):
  file cannot create directory: /usr/local/share/doc/HTML/en/kcachegrind.
  Maybe need administrative privileges.
Call Stack (most recent call first):
  cmake_install.cmake:42 (include)


Makefile:85: recipe for target 'install' failed
make: *** [install] Error 1

这个时候加上 sudo 就可以了,此时分析工具安装完成了,该分析工具是为了在 valgrind 跑完之后,会生成一个结果文件,该工具可以分析这个结果

使用 valgrind 跑程序
valgrind --tool=callgrind --separate-threads=yes ./run

其中 run 是你要运行的程序
执行完之后会生成一个类似于 callgrind.out.963-01 文件
使用刚刚安装的 kcachegrind 分析该工具即可

【Tools系列】利用性能分析工具valgrind+KCachegrind分析 DATE: 2020.7.24 文章目录1、简述2、KCachegrind下载3、分析过程3.1、安装valgrind和KCachegrind3.2、调试文件3.3、利用valgrind生成性能日志3.4、利用kcachegrind可视化 1、简述 本文讲述如何应用callgrind和kcachegrind进行性能分析。该工具可以方便分析出可执行文件函数的执行时间及函数调用关系。 主要参考:性能分析工具使用-callgrind+kcachegrind 2、KCachegrind下载 KCachegrind 阅读详情

相关推荐

11、Callgrind与KCachegrind:性能分析与可视化工具

本文介绍了Callgrind和KCachegrind两款强大的性能分析与可视化工具,详细说明了它们在程序性能优化中的应用场景和操作方法。同时,还提到了Acumem VPE在提升缓存利用率方面的优势,为开发者提供了工具选择和优化建议。

kk1234的博客 147

爱上python系列------python性能(三):KCacheGrind性能分析可视化

KCacheGrind是 一个性能可视化的工具,需要读取固定格式的文件就可以获取可视化的图形,不是属于python独有的 前面我们使用cProfile进行了性能分析,接下来我们使用cProfile分析后 ,然后保留成文件,该文件并不能直接被KCacheGrind 读取,需要使用工具pyprof2calltree进行转换,得到的文件是KCacheGrind可以使用的,然后就能得到可视化结果。 因此,接下来需要准备两个工具: (1)KCacheGrind 这个直接可以下载:https://sourcefor

大鱼的博客 2928

kcachegrind程序性能分析工具

程序性能分析工具,可以结合valgrind等工具分析程序性能以及内存泄露等

Linux性能优化--性能工具:特定进程内存

linux

x13262608581的博客 1954

pyprof2calltree:剖析python程序并使用kcachegrind查看它们

概述 该脚本可使用 ()图形化的调用树分析器来帮助可视化使用cProfile Python模块收集的性能分析数据。 这是David Allouche等人的古老脚本的重命名。 它旨在分发(例如通过PyPI)并使其表现得更像debian 软件包的脚本。 最终目标是使其成为官方上游软件包的一部分。 安装 在Debian≥11或衍生版本(例如Ubuntu≥20.04)上,sudo apt安装kcachegrind pyprof2calltree。 命令行用法 安装后,您应该在路径中包含pyprof2calltree脚本: $ pyprof2calltree --help usage: pyprof2calltree [-h] [-o output_file_path] [-i input_file_path] [-k] [-r scriptfile

嵌入式系统存储体系

主要分为三种:高速缓存(cache)、主存和外存。

weixin_43586667的博客 2265

valgrind和Kcachegrind性能分析工具详解

一、valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架。它包括一个工具集,每个工具执行某种类型的调试、分析或类似的任务,以帮助完善你的程序。Valgrind的架构是模块化的,所以可以容易的创建新的工具而又不会扰乱现有的结构。 valgrind主要包含以下工具: 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。 3、cacheg

Hello World 1672

脑影像分析软件推荐 | JuSpace

JuSpace是一种允许基于 MRI 测量与核成像衍生估计的跨模态关联的工具包,它涵盖各种神经递质系统,包括多巴胺能、血清素能、去甲肾上腺素能和 GABA(γ-氨基丁酸) 神经传递。JuSpace 由一组 Matlab 功能以及涵盖各种受体系统的 PET 受体图谱组成。

NHKJ_ZF的博客 1708

valgrind和kcachegrind使用运行分析

一、valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架。它包括一个工具集,每个工具执行某种类型的调试、分析或类似的任务,以帮助完善你的程序。Valgrind的架构是模块化的,所以可以容易的创建新的工具而又不会扰乱现有的结构。 valgrind主要包含以下工具: 1 2 3 4 5 6 7 8 9 10Copy 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、c

HideInTime的博客 1334

第三篇:AMD 和 Intel

它像“乐高积木”一样,可以通过标准化的接口与其他部分组合,构建复杂系统。理解组件后,你会发现从操作系统到微服务,现代软件本质上都是组件的组合!

u013089100的博客 1031

AI视频生成成本优化实战:混合架构与硬件选型

AI视频生成技术正面临效果与成本的二元博弈,其核心挑战在于高昂的推理算力消耗与黑箱服务的不确定性。从技术原理看,视频生成依赖扩散模型等深度学习架构,通过多轮迭代实现像素级合成,这导致GPU显存占用和电力消耗呈指数级增长。在工程实践中,采用混合推理架构能有效平衡成本与质量,例如云端处理关键帧配合本地渲染过渡帧,实测可降低58%支出。硬件选型方面,消费级显卡魔改与边缘计算设备为中小企业提供了可行方案,如RTX 3090显存扩容或Jetson AGX边缘部署。当前AI视频应用已渗透电商直播、新闻制作等领域,但需警

weixin_29531177的博客 295

使用valgrind分析C程序调用线路图

Valgrind可以检测内存泄漏和内存违例,但是用Valgrind生成的日志信息结合kcachegrind就可以查看C程序的执行线路图,调用时间,是做性能优化和查看代码的非常好的工具。 下载安装 Valgrind 安装 到www.valgrind.org下载最新版valgrind # wget http://www.valgrind.org/downloads/valgri

编程的本质是数学问题 6130

STM32与AD7606的SPI通信优化:提升高精度数据采集效率

本文深入探讨了STM32与AD7606的SPI通信优化策略,旨在提升高精度数据采集系统的效率与稳定性。文章从硬件连接、电源去耦、PCB布局等基础环节入手,详细解析了软件驱动中SPI模式配置、DMA应用及精准时序控制等关键优化技术,并提出了系统级的性能提升方案,帮助开发者解决高速采样下的数据跳动、效率瓶颈等实际问题。

weixin_29192211的博客 393

valgrind callgrind使用

callgrind使用

qixiang2013的专栏 985

汽车IVI中控开发入门及进阶(47):CarPlay开发

车载信息娱乐(IVI)系统已经从仅仅播放音乐的设备发展成为现代车辆的核心部件。除了播放音乐,IVI系统还为驾驶员提供导航、通信、空调、电源配置、油耗性能、剩余行驶里程、节能建议和许多其他功能。​驾驶座逐渐变成了你家和工作场所之外的额外生活空间。2014年,苹果推出了Apple CarPlay,这是一款汽车界面,允许驾驶员使用iPhone应用程序和其他IVI功能,如苹果地图、Siri、苹果音乐、iMessage,并拨打电话。

码农17年的博客 1129

SAP-ABAP:FI财务会计模块常用BAPI及核心用途实例说明

SAP FI模块的BAPI覆盖了从主数据管理、凭证过账到财务关账的全流程操作,是系统集成与自动化的重要工具。实际应用中需结合业务场景选择合适的BAPI,并严格遵循事务控制与校验规则。如需扩展功能,可通过BAdI或用户出口增强标准逻辑。

baidu_35680696的博客 1601

valgrind安装+使用【附带callgrind + dot】

1.valgind 安装 1.1源码安装 获取源码:(也可点击链接下载) wget http://www.valgrind.org/downloads/valgrind-3.16.0.tar.bz2 解压 tar -jxvf valgrind-3.16.0.tar.bz2 安装 cd valgrind-3.16.0 ./configure (./configure --prefix=/home/user1/valgrind 这种方式可以指定安装目录,但是可能需要配置环境才能使用) make make

sinat_21699465的博客 1553

安路TangDynasty和FD和JTAG驱动器安装

安路FPGA产品矩阵包含SALPHOENIX高性能、SALEAGLE高性价比和SALELF低功耗三大系列,广泛应用于网络通信、消费电子等领域。配套的TangDynasty(TD)集成开发环境支持标准设计输入,提供完整优化流程与调试工具。简要介绍了TD 6.2.1版本的安装步骤。

wangjie36的博客 1039

使用Valgrind的callgrind做c/c++代码的code profiling/性能调优

提起Valgrind,很多人认为是做内存泄漏的工具,其实memcheck只是Valgrind下的一个功能而已。 接下来我们一起看一下使用Valgrind的Callgrind工具实现Code Profiling/代码性能调优。(主要是针对CPU优化的) Code Profiling Code Profiling工具是指一个分析使用资源并生成报告的工具,这里的资源指内存,CPU,网络带宽等。 在做调优的第一步是使用工具将程序运行的真实定量数据收集起来,这种数据,就成为profiling data。通过profi

安安爸Chris的专栏 2624

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

valgrind——Callgrind检测程序代码的运行时间和调用过程,程序分析性能。

功能扩展1 callgrind 1.1 指令范式 valgrind --tool=callgrind --separate-threads=yes ./run 1.2 分析工具Kcachegrind Callgrind通过Valgrind框架使用运行时检测来进行缓存模拟和调用图生成。通过这种方式,甚至共享库和动态打开的插件也可以被分析。Callgrind生成的数据文件可以加载到KCachegrind中,用于浏览性能结果。但是包中还有一个命令行工具,可以从数据文件中获取ASCII报告,而不需要使用KCach

格物致知 2357

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

031-valgrind

从原理到代码实现、参数优化及结果分析的Valgrind技术调研报告,结合C++示例和可视化工具使用说明

zhengtianzuo的博客 935

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

让程序飞 之 性能工具:valgrind –tool=callgrind & kcachegrind

让程序飞 之 性能工具:valgrind –tool=callgrind & kcachegrind http://blog.dccmx.com/2011/01/callgrind/让程序飞 之 性能工具:valgrind –tool=callgrind ...

211

valgrind

-tool= 最常用的选项。--log-file= 将输出的信息写入到filename.PID的文件里,PID是运行程序的进行ID。--log-file-qualifier= 取得环境变量的值来做为输出信息的文件名。--db-command= 启动调试器的命令行选项[gdb -nw %f %p]--log-fd= 输出LOG到描述符文件 [2=stderr]--log-file-exactly= 输出LOG信息到 file。

ddddfang的专栏 677

valgrind+kcachegrind分析程序性能瓶颈

一:Valgrind的安装 1. 解压valgrind-3.7.0.tar.bz2。tar jxf valgrind-3.7.0.tar.bz2 2. 进入解压的目录,运行如下命令 a) ./configure b) Make c) Make install 二:Valgrind介绍 valgrind安装完毕后,会附带如下几个强大的工具: 1.Memcheck 检

CoderLife9192的专栏 7399

linux使用 valgrind工具内存调试

linux使用 valgrind工具内存调试

a2591748032的博客 2096

动态执行流程分析和性能瓶颈分析的利器——valgrind的callgrind

在《内存、性能问题分析的利器——valgraind》一文中我们简单介绍了下valgrind工具集,本文将使用callgrind工具进行动态执行流程分析和性能瓶颈分析。(转载请指明出于breaksoftware的csdn博客) 之前的《利器》系列中,我们介绍了两种静态分析函数调用关系的工具(《静态分析C语言生成函数调用关系的利器——calltree》和《静态分析C语...

方亮的专栏 4996
上一篇: tar 打包问题
下一篇: gdb 调试
NeilZhy
博客等级 码龄11年 175粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值