Prof

C/C++ 分析工具库
授权协议 MIT
开发语言 C/C++
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 不详
投 递 者 张建华
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Prof 是 Linux 的自容器 C/C++ 分析工具库。

Prof 提供一个快速的方法来度量 C/C++ 代码片段的性能事件 (CPU 时钟周期等等) 。

小示例:

#include "prof.h"int main()
{    PROF_START();    // slow code goes here...
   PROF_STDOUT();
}

自定义选项

#include <stdio.h>
#define PROF_USER_EVENTS_ONLY
#define PROF_EVENT_LIST \
    PROF_EVENT_CACHE(L1D, READ, MISS) \
    PROF_EVENT_CACHE(L1D, WRITE, MISS)
#include "prof.h"
int main()
{
    uint64_t faults[2] = { 0 };
    PROF_START();
    // slow code goes here...
    PROF_DO(faults[index] += counter);
    // fast or uninteresting code goes here...
    PROF_START();
    // slow code goes here...
    PROF_DO(faults[index] += counter);
    printf("Total L1 faults: R = %lu; W = %lu\n", faults[0], faults[1]);
}

安装

wget -q https://raw.githubusercontent.com/cyrus-and/prof/master/prof.h
  • Linux下性能调优、代码学习工具 主要有GProf,SProf,一般系统自带。 另外还有OProf,rotateright (www.rotateright.com)等商业工具。 这些工具主要能进行函数调用频次,调用时间,调用关系等的分析。 GProf用法: 1.编译需要分析的程序。需要增加-pg编译选项和链接选项。   如make CFLAGS=-pg LDFLAGS=-pg 2.运行程序,产

  • 题目 给定一个包含 n 个整数 a1,a2,…,an 的数组,其中 ai≠0,检查您是否可以通过使用以下操作任意次数(可能为零)对该数组进行排序。如果数组的元素以非递减顺序排列,则数组已排序。 选择两个索引 i 和 j (1≤i,j≤n) 使得 ai 和 aj 具有不同的符号。换句话说,一个必须是正面的,一个必须是负面的。 交换 ai 和 aj 的符号。例如,如果您选择 ai=3 和 aj=-2,

  • Prof UIS 一款国外的VC++仿XP系统风格的免费界面库控件,含有近20个应用实例,每一个都可以顺利编译,用它生成的菜单类似OFFICE菜单一样,比起传统的窗体视觉舒服多了,VC编程的朋友对照文档好好研究一番,学会用了会让你的程序增色不少。 可扩展且面向对象的MFC界面开发工具,支持大多数Microsoft Office主题

  • 套磁的时候,小虎看了500+个Faculties的简介,发现他们的titles都遵循一般性规律,这里我分享一下,顺便解答各位对于如何称呼国外老师的疑惑。其实这跟教师所在的职位有主要关系。一般有两种Titles: Prof. or Dr. 用Dr. 教师的教职是Research Fellow, Research Associate, Researcher, Lecturer等等甚至是 Associa

  • 在初始状态时ECU在Locked状态,如果想对ECU进行刷写操作,必须先将其Unlock。 Uds协议中提供sv27服用用于ECU安全访问控制。INCA内置UDSX_SECURITY_ACCESS与集成了安全访问的全过程即: 请求种子 计算密钥 发送密钥 UDSX_SECURITY_ACCESS(

 相关资料
  • 摘要 本文主要介绍 SystemView 可视化分析工具,以及如何在 RT-Thread 上使用它对系统进行调试分析。 简介 随着 MCU 的性能越来越强,嵌入式产品的功能越来越复杂,对于系统的调试和分析提出了新挑战,调试某个功能或问题通常需要花费大量精力,SystemView 是一款帮助用户进行系统调试和分析的强大工具,能够显著缩短开发和调试时间,提高开发效率。本文的目的在于帮助大家在 RT-T

  • 日志是非常重要的系统文件,管理员每天的重要工作就是分析和查看服务器的日志,判断服务器的健康状态。但是日志管理又是一项非常枯燥的工作,如果需要管理员手工查看服务器上所有的日志,那实在是一项非常痛苦的工作。有些管理员就会偷懒,省略日志的检测工作,但是这样做非常容易导致服务器出现问题。 那么我们有取代的方案吗?有,那就是日志分析工具。这些日志分析工具会详细地查看日志,同时分析这些日志,并且把分析的结果通

  • 1. 介绍 本篇会介绍三个关于分析nginx日志信息的工具。 2. nginx_log_analysis 这个工具是由一位叫LEO的网友提供的,它的博客是http://linux5588.blog.51cto.com/,它是用python语言写的,只是用来分析nginx日志,它的输出比较简单,以IP为主,可以查看每个IP的访问的流量,次数,占比等信息。 先获取这个python文件。 # 下载 $

  • 本文向大家介绍Docker镜像分析工具dive原理解析,包括了Docker镜像分析工具dive原理解析的使用技巧和注意事项,需要的朋友参考一下 今天推荐一个这样的开源工具,用于探索 Docker 镜像,各层内容以及发现缩小 Docker/OCI 镜像大小的方法。这个工具就是:dive。 工具地址:https://github.com/wagoodman/dive,Star 数:22k+。 这个工具

  • 问题内容: 熟悉Java世界的我一直在寻找一种静态分析工具,该工具也足够智能,可以解决它发现的问题。我使用CodePro工具运行,但是我还是Java社区的新手,不知道供应商。 根据上述标准,您可以推荐哪种工具? 问题答案: FindBugs,PMD和Checkstyle都是绝佳的选择,尤其是将它们集成到构建过程中时。 在上一家公司,我们还使用Fortify检查潜在的安全问题。我们很幸运获得了企业许

  • 问题内容: 我想在Linux服务器上以剖析模式运行Java程序。 是否有任何可以在命令提示符下对Linux服务器上的Java程序进行概要分析的概要分析工具? 问题答案: 所有这些Java性能分析工具都可以在Linux中使用: 你的包 JProfiler HPROF(Java 5+) 杰拉特

  • 主要内容:一、查看系统性能参数,,二、定位执行慢的SQL:慢查询日志,三、查看 SQL 执行成本:SHOW PROFILE,四、分析查询语句:EXPLAIN,EXPLAIN各列作用:一、查看系统性能参数 通过SHOW STATUS语句查询一些MySQL数据库服务器的性能参数、执行频率。 一些常用的性能参数如下: Connections:连接MySQL服务器的次数。 Uptime:MySQL服务器的上线时间。单位:s Slow_queries:慢查询的次数。 Innodb_rows_read:Se

  • 简介 Charles是Mac下常用的对网络流量进行分析的工具,类似于Windows下的Fiddler。在开发iOS程序的时候,往往需要调试客户端和服务器的API接口,这个时候就可以用Charles,Charles能够拦截SSL请求、模拟慢速网络、支持修改网络请求包并多次发送、能够篡改Request和Response等强大的功能。下面介绍安装和使用方法。 下载安装 可以从这里下载Charles,有3