原文转自http://blog.chinaunix.net/uid-26000296-id-3369740.html

Elapsed Time(执行耗时):

the total time your target ran, is calculated as follows:

Wall clock time at end of application – Wall clock time at start of application

应用程序的整个的运行时间,等于 ”程序结束时间 减 程序开始时间”。

CPU Time:

Active processor Self time spent in the function. For multiple threads, CPU time is summed up. By default, the Self time is provided in seconds. The blue bar is a visual indicator of the CPU time usage. The longer the bar, the higher the value.

处理器工作的时间。

对于多线程来说,CPU时间是累加的。默认地,它是以秒为单位。

分析结果中的蓝色条指示的是CPU的使用时间,条越长,值越大。

In the Summary window, CPU time is the overall time that all processors spent working for the application. If there are multiple cores then the times are added. For example, if core 1 spends 4 seconds working for the application and core 2 spends 7 seconds then the CPU time will be 11 seconds. The CPU time can be greater than the Elapsed time. The upper bound for CPU time is Elapsed time * number of logical cores.

在总结窗口中,CPU时间是所有处理器花费在程序处理上的时间。

如果是多核,这个时间是累加的。

如果一个核花费了4秒用于工作,而另一个核花了7秒用于这个工作,那么CPU时间就是11秒。

所以CPU时间可以大于耗时。

CPU时间的上限是耗时*逻辑核个数。

 

Instructions Retired:

Modern processors execute much more instructions that the program flow needs. This is

called "speculative execution". Then the instructions that were "proven" as indeed

needed by flow are "retired". You can think about "retired" instuctions as only

instructions needed by the program flow.

现代处理器是以”预测执行”的方式执行指令,也就是说会执行比程序流程本身要多很多的指令,

如分支预判,提前计算等。而最后程序流程真正执行了的指令就是”retired”。可以认为

”retired”的指令是程序流真正执行了的指令。

I guess "retired instructions" means those instructions that are acturally executed and completed by CPU. The CPU some kind of prediction about the instructions to be excuted and put them into some place like a "pool". But not all of these instructions will be excuted.

CPI Rate

Clockticks per Instructions Retired (CPI) event ratio, also known as Cycles per Instructions, is one of the basic performance metrics for the hardware event-based samplingcollection. This ratio is calculated as Clockticks / Instructions Retired.

每条指令执行完成的时钟周期。

When you want to determine where to focus your performance tuning effort, the CPI is the first metric to check. A good CPI rate indicates that the code is executing optimally.

As a general guide these numbers have been derived from experienced performance engineers:

Good

Poor

0.75

4

A high value for this ratio indicates that over the current code region, instructions are taking a high number of processor clocks to execute. This could indicate a problem if most of the instructions are not predominately high latency instructions and/or coming from microcode ROM. In this case there may be opportunities to modify your code to improve the efficiency with which instructions are executed within the processor.

现在的处理器通常是一个周期内可以执行多条指令。

例如,一个时钟周期内执行四条指令,那么CPI的最佳理论值为0.25。

如果这个值很高,则表示当前的代码块的指令使用了多个时钟周期来执行指令,如果这些指令不是高延迟指令,则表明这段代码是有问题。这时可以通过优化这个地方来提高效率。

Synchronization Context Switches(同步上下文切换):

Number of times a thread was switched off a processor because of making an explicit

call to thread synchronization API. For example, in case of trying to wait on a

synchronization object already occupied by another thread, the number of synchronization

context switches will characterize the level of contention between threads.

因为显示调用线程同步API而导致的线程关闭处理的次数。

例如,尝试等待被其它线程占用的同步对象,同步上下文切换的次数反映了线程间竞争的等级。

Wait Count:

Number of times the corresponding system wait API was called. For a lock, it is the number of times the lock was contended and caused a wait.

系统wait API被调用的次数。

对于一个锁来说,指的是因为竞争锁而导致等待的次数。

Wait Rate:

Average Wait time (in milliseconds) per synchronization context switch. Low metric

value may signal an increased contention between threads and inefficient use of

system API.

每次同步上下文切换的平均等待时间(以毫秒为单位)。

该值较小表示的是线程间竞争的增加和系统API的低效使用

Estimated Call Count:

Statistical estimation of call counts based on hardware events.

基于硬件事件的调用次数的统计估计值。

Wait Time:

Duration of a thread inactivity due to contended synchronization.

由于竞争同步导致的线程不活动的时间。

Inactive Time:

Time during which a thread remained preempted from execution. Note that many threads can be inactive at any given point in time, so the sum of Wait and Inactive times of those threads can be much greater than the Total time of program execution.

线程执行时保持被其它线程抢先占用的时间。

在一个给定的时间点,会有很多线程是不活动的,因此,线程等待和不活动的时间之和会远大于程序执行的总时长。

Overhead Time:

Duration that starts with the release of a shared resource and ends with the receipt of that resource. Ideally, the duration of overhead time is very short because it reduces the time a thread has to wait to acquire a resource.

从共享资源被释放开始,到收到这个资源的时间。

这个时间应该很短,因为它是减少线程获得资源的等待时间。

Spin Time(轮询时间):

Wait Time during which the CPU is busy. This often occurs when a synchronization API causes the CPU to poll while the software thread is waiting. Some Spin Time may be preferable to the alternative of increased thread context switches. Too much Spin Time, however, can reflect lost opportunity for productive work.

因为CPU忙而导致的等待时间。

当同步API造成CPU轮询(因为软件线程在等待)时,这时就会发生轮询。

有些轮询时间会有利于增加线程上下文切换的选择。

然而,太多的轮询时间,反映了有效工作的不充分。

Idle Time:

Duration while a thread remained inactive (for any reason) and the system did not have any other task to execute (was idle). The Idle time is always less than any of the Wait and Inactive time.

当一个线程保持不活动且系统没有其它任务在执行的时间。

闲置时间总是小于等待和不活动时间。

<转> Intel VTune分析结果中的名词释译的更多相关文章

  1. R语言读入数据库的中英名词互译测试并计分脚本(考试用)

    1. 分子生物学中英文.csv,输入文件,两列,以tab键分隔的txt文本,没有列名 2. 错误的名解.csv, 如果在测试中拼写错误,会写出到这个文件,可用这个容易犯错的名词进行新的测试 3. 注意 ...

  2. 【性能分析】使用Intel VTune Amplifier

    本文转自 https://software.intel.com/zh-cn/blogs/2010/11/10/amplxe-cl/版权归原作者所有,如原作者有任何不允许转载之理由,本文将自行删除. I ...

  3. Intel VTune Amplifier XE 使用

    VTune <VTune 开发者手册> 1. 安装 1.1 软件安装 下载: (安装包下载地址) 安装: # 1.解压 tar -zxvf filename.tar.gz # 2.安装 c ...

  4. intel vtune 介绍、安装和使用

    intel vtune 介绍 https://software.intel.com/en-us/vtune intel vtune 安装包下载地址 https://software.intel.com ...

  5. 【Win 10 应用开发】分析 URI 中的查询字符串

    分析URI中的字符有K种方法(K >= 2),如果查询字符串中的参数比较简单,可以通过子字符串查找的方式来处理:如果查询字符串相对复杂,你可以使用正则表达式来匹配 key1=value1 ,  ...

  6. [转]DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)

    在CSDN中发现这篇文章,讲解的比较详细,所以在这里备份一个.原文链接:http://blog.csdn.net/breaksoftware/article/details/8167641 DllMa ...

  7. 一个使用C#的TPL Dataflow Library的例子:分析文本文件中词频

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:一个使用C#的TPL Dataflow Library的例子:分析文本文件中词频.

  8. 从虚拟机指令执行的角度分析JAVA中多态的实现原理

    从虚拟机指令执行的角度分析JAVA中多态的实现原理 前几天突然被一个"家伙"问了几个问题,其中一个是:JAVA中的多态的实现原理是什么? 我一想,这肯定不是从语法的角度来阐释多态吧 ...

  9. Linux的nmon监控结果分析文件中网络分析NET

    1.首先,使用# ifconfig查看Linux系统中的网卡名称,有的是eth0,有的是em1,以查看结果为准,下图为em1 2.先试试Linux系统中有没有安装ethtool工具,没有的话,下载et ...

随机推荐

  1. 7.Web Service 调用天气代码

    1. 2500多个城市天气预报 WEB服务公用事业 Endpoint:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx Disco: ...

  2. 1、Bracket使用

    转自:https://www.jianshu.com/p/393833400782 Adobe的PhotoShop.Dreamweaver等大批优秀软件,印(nue)象(杀)了一代一代的优秀的计算机高 ...

  3. android学习笔记五。1、Service深入学习

    一.Service,服务是没有界面而在后台长期运行的程序,可以看做是后台的Activity. 1.在Android中按返回键退出一个应用并不会(内存充足时)直接销毁一个进程,所以其中的子线程也可以在后 ...

  4. django模型系统二

    常用查询及表关系的实现 1.常用查询 每一个django模型类,都有一个默认的管理器 objects QuerySet表示数据库中对象的列表,它可以有0到多个过滤器.过滤器通过给定参数,缩小查询范围. ...

  5. 洛谷——P1311 选择客栈

    https://www.luogu.org/problem/show?pid=1311 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰 ...

  6. 8lession-基础类型转化

    Python数据类型转换 有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可. 以下几个内置的函数可以执行数据类型之间的转换.这些函数返回一个新的对象,表示转换 ...

  7. worktools-mmx 添加编译模块

    1,添加模块到mmx.py文件 1>vim /home/zhangshuli/git/vanzo_team/xulei/mmx.py 2>按照格式"Gallery2": ...

  8. java创建节点和单向链表

    package datastructure; public class Node { private Object data; private Node next; public Node() { t ...

  9. 68.qq号索引结构体写入内存,并实现快速排序

    //两个步骤,第一步读取文件,并且初始化索引结构体,把初始化的索引结构体写入到文件,第二步,读取这个文件到索引结构体 //并对这个结构体进行快速排序,得到顺序的索引,再写入文件 #define _CR ...

  10. linux网络防火墙-iptables基础详解

    一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙 ...