ubuntu程序性能分析

文章目录

    • time
    • perf
    • valgrind
    • ubuntu 重复执行命令

在Ubuntu上,可以使用一些工具来测量两段程序的计算量,如下所示:

time

  1. time命令:time命令可以用于测量程序的执行时间。在终端中运行以下命令来执行程序并测量其执行时间:

    time ./program
    

    这将输出程序的执行时间,包括用户时间、系统时间和实际时间。
    在运行的程序之前加 time 最后得出三个时间 real、 user、 sys。

    • real是程序的实际运行时间。从程序开始到程序执行结束时所消耗的时间,包括CPU的用时和所有延迟程序执行的因素的总和。
    • sys是内核态的时间。
    • user是用户态的时间。
      单核情况,real远远大于user和sys之和。

CPU用时被划分为user和sys两块。user表示程序本身,以及它所调用的库中的子例程使用的时间。sys是由程序直接或间接调用的系统调用执行的时间。

perf

  1. perf命令:perf命令是一个强大的性能分析工具,可以用于测量程序的各种指标,如CPU周期、缓存命中率等。在终端中运行以下命令来使用perf命令测量程序的计算量:

    perf stat ./program
    

    这将输出程序的各种性能指标,包括CPU周期、指令数等。

  • task-clock (msec): 事件表示目标任务真正占用处理器的时间,单位是毫秒。也称任务执行时间
    cpu处理task所消耗的时间,表示目标任务真正占用处理器的时间,单位ms,CPUs utilized表示cpu使用率, 该值越高代表程序是CPU bound(计算密集型)而非IO bound(I/O密集型)
  • XXX seconds time elapsed:系程序持续时间

https://www.cnblogs.com/wx170119/p/11855263.html
https://zhuanlan.zhihu.com/p/445260558

valgrind

  1. valgrind工具:valgrind是一个用于调试和性能分析的工具集,其中包括了多个工具,如memcheck、cachegrind等。可以使用cachegrind工具来测量程序的缓存命中率。在终端中运行以下命令来使用cachegrind工具测量程序的计算量:

    valgrind --tool=cachegrind ./program
    

    这将输出程序的缓存命中率和其他相关信息。

以上工具可以帮助测量程序的计算量,并提供各种性能指标和分析结果。可以根据具体需求选择合适的工具进行测量。

ubuntu 重复执行命令

在Ubuntu中,可以使用for循环来重复执行一条指令50次。:
打开终端(Terminal)。
输入以下命令并按Enter键打开一个新的行:

for i in {1..50}; do <你的指令>; done

将 <你的指令> 替换为想要重复执行的指令。按Enter键执行该命令,指令将会被重复执行50次。

例如,如果想要重复执行echo "Hello, World!"指令50次,你可以输入以下命令:

for i in {1..50}; do echo "Hello, World!"; done
``这样,echo "Hello, World!"指令将会被重复执行50次,每次输出"Hello, World!"

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

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

相关文章

支持向量机(公式推导+举例应用)

文章目录 引言间隔与支持向量机对偶问题&#xff08;拉格朗日乘子法&#xff09;SMO算法核函数软间隔与正则化软间隔正则化&#xff08;罚函数法&#xff09; 模型的稀疏性结论实验分析 引言 在机器学习领域&#xff0c;支持向量机&#xff08;Support Vector Machine&#xf…

蓝牙音视频远程控制协议(AVRCP) AV/C command格式介绍

零.声明 本专栏文章我们会以连载的方式持续更新&#xff0c;本专栏计划更新内容如下&#xff1a; 第一篇:蓝牙综合介绍 &#xff0c;主要介绍蓝牙的一些概念&#xff0c;产生背景&#xff0c;发展轨迹&#xff0c;市面蓝牙介绍&#xff0c;以及蓝牙开发板介绍。 第二篇:Trans…

生产数据不备份,用时两行泪

背景&#xff1a;项目使用pg一主一从&#xff0c;因慢sql导致查询慢&#xff0c;所以想从原本的4核加到16核&#xff0c;联系好运维后&#xff0c;打算先从从库开始操作&#xff0c;机器上的pgsql都正常关闭&#xff0c;然后停止&#xff0c;关机&#xff0c;扩容一切都很顺利&…

蓝桥杯基础数据结构(java版)

引言 数据结构数据结构。所以数据结构是一个抽象的概念。其目的是为了更好的组织数据方便数据存储。下面我们来看一些简单的数据储存方式 输入和输出 这里先介绍java的输入和输出。简单引入&#xff0c;不过多详细介绍&#xff0c;等我单一写一篇的时候这里会挂上链接 简单的…

OpenCV-Python(34):FAST算法

目标 理解 FAST 算法的基础使用OpenCV 中的FAST 算法相关函数进行角点检测 介绍 FAST算法&#xff08;Features from Accelerated Segment Test&#xff09;是一种用于在图像中快速检测角点的算法。它是一种基于像素的检测方法&#xff0c;具有高效、准确的特点&#xff0c;常…

【算法分析与设计】最短路径和

题目&#xff1a; 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;grid [[1,3,1],…

【PHP AES加解密示例】从入门到精通,一篇文章让你掌握加密解密技术!

一、引言 随着互联网的普及&#xff0c;数据安全问题越来越受到人们的关注。在众多加密算法中&#xff0c;AES&#xff08;Advanced Encryption Standard&#xff09;因其高效、安全的特点被广泛应用。本文将通过PHP语言&#xff0c;为大家展示一个简单的AES加解密示例&#x…

Retinal Structure Detection in OCTA Image viaVoting-Based Multitask Learning

一、摘要 研究背景&#xff1a;自动检测视网膜结构&#xff0c;如视网膜血管(RV)、中央凹血管区(FAZ)和视网膜血管连接(RVJ)&#xff0c;对了解眼部疾病和临床决策具有重要意义。 主要工作&#xff1a;在本文中&#xff0c;提出了一种新的基于投票的自适应特征融合多任务网络…

Pr模板(剪辑素材),Pr预设(视频转场,调色),Pr插件,Pr教程,Pr模板网

PR模板,免费Premiere模板下载网站.logo片头模板,标题字幕,样机相册,节奏快闪,开场预告,转场特效,图文照片,抖音自媒体Vlog短视频模板等Premiere项目工程源文件模板下载 Pr模板&#xff1a;https://prmuban.com/template PR预设,PR转场预设,PR调色预设,Pr剪辑视频特效PR预设.pr…

Union-Find

板子&#xff1a; 非递归写法&#xff08;基于链表&#xff09; public class LinkedDSU {public static final int illegal_next-1;private static class Node{int equiv;int next;int length;Node(int e,int n,int len){equiv e;next n;length len;}}private final Node…

优化的实时换脸项目——DeepFaceLive

DeepFaceLive是一款基于人工智能技术的换脸工具&#xff0c;可以实现实时面部捕捉和换脸效果。它利用深度学习和计算机视觉算法&#xff0c;能够以惊人的准确度和速度将脸部特征无缝地映射到任何人的脸上。DeepFaceLive的特点是可以实时换脸&#xff0c;让用户通过网络摄像头应…

银行网络安全数字化挂图作战体系建设

文章目录 前言一、网络安全数字化挂图作战的动力与支撑(一)国家层面(二)集团公司层面(三)自身层面二、网络安全数字化挂图作战的目标与定位(一)挂图作战体系设计1、总体框架设计2、安全度量框架构建3、挂图作战体系建设(二)挂图作战实施行动路径(三)挂图作战系统建…

MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构

目录 前言 1. 主从复制 主从复制的基本配置示例&#xff1a; 2. 主从复制的限制 3. InnoDB Cluster架构 InnoDB Cluster配置步骤示例&#xff1a; 4. InnoDB Cluster的优势 总结 ⭐️ 好书推荐 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

京东年度数据报告-2023全年度游戏本十大热门品牌销量(销额)榜单

同笔记本市场类似&#xff0c;2023年度游戏本市场的整体销售也呈下滑态势。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;京东平台上游戏本的年度销量累计超过350万&#xff0c;同比下滑约6%&#xff1b;销售额将近270亿&#xff0c;同比下滑约11%。 鲸参谋综合了京东…

买卖股票的最佳时机【贪心】

Problem: 121. 买卖股票的最佳时机 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 简单遍历一下就行。 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution:def maxProfit(self, prices: List[int]) -> int:pre_min…

C语言变量与函数

目录 变量函数 变量 变量&#xff1a;计算机里的一块内存空间int a 0; 表示定义一个整型 int 变量&#xff1b;这个变量名字叫做 a “” 表示赋值&#xff1b;即将右边的 0 赋值给左边的整型变量 a 现在这一块空间 a 存放了一个值 0 这个过程也叫做整型变量 a 的初始化初始化…

C++/WinRT 简介

C/WinRT 是 Windows 运行时 (WinRT) API 的完全标准新式 C17 语言投影&#xff0c;以基于标头文件的库的形式实现&#xff0c;旨在为你提供对新式 Windows API 的一流访问。 利用 C/WinRT&#xff0c;你可以采用任何符合标准的 C17 编译器创作和使用 Windows 运行时 API。 Wind…

OSG StatsHandler 初步学习

osg为视景器的使用和调试提供了丰富的辅助组件&#xff0c;它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgViewer::StatsHandler、osg::Stats类就是其中的两个经常用到的辅助组件。 #include<osgViewer/Viewer> #inclu…

iOS xcode 15.1 打包报错

真机调试的时候没问题&#xff0c;打包的时候报错了 #报错 解决办法 pods.xcodeproj - build phases - compile sources - compiler flags pods.xcodeproj - Targets-support files pods-xx-frameworks

基类的友元类,可以访问其派生类的私有虚函数

我们知道一个基类的友元类&#xff0c;并不是其派生类的友元类 &#xff0c;但是一个基类的友元类&#xff0c;可以访问其派生类的虚函数&#xff0c;而不受访问限制 #include <iostream> class Base{friend class Test; //基类的友元类Testvirtual void f() 0; //虚…