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

告别“静态组件”:Adobe XD的堆栈+状态,打造“活”的响应式UI

今天,我想分享一套能彻底告别这种“笨方法”的、Adobe XD中的进阶技巧,通过组合使用“堆栈”、“内边距”和“组件状态”,去构建一个能自动适应内容、真正“活”起来的智能响应式组件。

Kingsdesigner的博客 762

valgrind和Kcachegrind性能分析工具详解

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

Hello World 1672

python机器人编程——用python实现一个写字机器人

本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网,可以实现人在北京写了一行字,在上海的机器臂同时也在自己的本子上写了一行字。

JAMES费的空间 7994

valgrind和kcachegrind使用运行分析

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

HideInTime的博客 1334

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1953

2D激光slam数据集的下载与测试

参考博客: https://blog.youkuaiyun.com/qq_24894159/article/details/81265991 https://blog.youkuaiyun.com/fk1174/article/details/52673413#commentBox 数据集下载与生成 下载数据集 下载网址: http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php 进去网站后点你想下载的对应的"download log file" 然后你

老李的博客 4025

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

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

编程的本质是数学问题 6130

基于Xilinx_IBERT的光纤接口眼图测试

基于Xilinx_IBERT的光纤接口眼图测试

Coca_Tian的博客 1万+

valgrind callgrind使用

callgrind使用

qixiang2013的专栏 985

Selenium ChromeDriver反爬与性能优化实战指南

ChromeDriver作为Selenium的核心驱动,本质是浏览器自动化执行引擎,其默认行为会暴露大量JS运行时指纹(如navigator.webdriver、window.chrome),极易被前端反爬系统识别;同时因进程管理粗放、渲染等待机制僵化,导致内存泄漏、僵尸进程和高并发下稳定性崩塌。本文围绕真实生产场景,系统解析浏览器指纹伪造原理、进程级资源管控策略、基于页面状态的智能等待范式,并提供Docker容器化、K8s弹性扩缩与Prometheus可观测性落地路径,助力开发者将ChromeDriver

weixin_29762151的博客 1259

扣子Coze智能体万字教程:从入门到精通,一文掌握AI工作流搭建

智能体 = 角色设定 + 提示词 + 变量输入一个好提示词的核心是结构、风格和复用性创建后可以一键发布成网页应用、对话助手整个过程0代码,只靠配置,人人可学,人人可用四、进阶一:理解「工作流」的威力如果你已经用扣子创建了几个简单的智能体,比如写个爆款小红书文案、生成一段短视频脚本,那恭喜你已经入门。但如果你还停留在“一个智能体 = 一段提示词”的层级,你离真正的智能体生产力革命,还差一步:学会搭建“工作流”——让多个大模型自动协同完成任务。

互联网架构师笔记 3508

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

FPGA设计-Vivado的Off-Chip Termination设置问题

经常遇到在FPGA设计时,很多人很迷惑这些关于硬件的终端匹配怎么设置,Vivado的Off-Chip Termination设置问题,这里就详细说一下这个问题。

whm128的博客 2727

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

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

安安爸Chris的专栏 2624

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

格物致知 2357

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

031-valgrind

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

zhengtianzuo的博客 935

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

让程序飞 之 性能工具: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、付费专栏及课程。

余额充值