- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近,我发现实际上 perf(或 pprof)可能会显示在反汇编 View 指令时间附近,实际上并没有花费这个时间。真正需要这段时间的真正指令就在它之前。我知道一个模糊的解释,这是由于 CPU 中的指令流水线而发生的。但是,我想了解以下内容:
最佳答案
(快速而不是 super 详细的答案;如果有人想写一个更详细的答案会更好)。perf
只使用 CPU 自己的硬件性能计数器,当计数器向下计数到零或达到阈值时,它们可以进入记录事件的模式。
引发中断或将事件写入内存中的缓冲区(使用 PEBS 精确事件)。该事件将包括 CPU 选择与事件关联的代码地址(即引发中断的点),即使对于像 cycles
这样的事件也是如此。不像 instructions
本质上没有关联的特定指令。当计数器回绕时,乱序的 exec 后端可能有几百条指令在运行,但必须为任何给定的样本选择一个。
通常,CPU“责怪”等待缓慢产生结果的指令,而不是产生结果的指令,尤其是缓存未命中加载。
有关 Intel x86 CPU 的示例,请参阅 Why is this jump instruction so expensive when performing pointer chasing?
这似乎也取决于在引发中断时让 ROB 中的最后一条指令退出的效果。 (英特尔 CPU 至少看起来确实这样做了;即使指令可能很慢,也能确保向前推进。)
一般来说,当后面的指令被指责而不是实际花时间的指令时,可能会出现“偏差”,这可能有不同的原因。 (也许特别是对于非核心事件,因为它们与核心时钟异步发生。)
其他相关问答以及有趣的例子或其他事情
关于performance - perf record(或其他分析器)如何选择将哪个指令计为花费时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69351189/
recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL
在我的表中,我有四列。 r_id id(用户 ID) v_id(公司 ID) 率 我所做的就是从用户那里对公司(v_id)进行评分。 假设,如果用户一对第一家公司(v_id)进行评分,那么当同一用户对
我的表中有 10 条记录,当我删除记录 5 并创建新记录时,新记录将取代已删除的记录,如下所示: 在删除之前记录其ID: 1个2个3个4个5个6个78个910 删除记录 5 并插入新记录后,id 为
我有两个 belongsToMany 模型: const apptsModel = db.define('Appts', { id: {type: Sequelize.INTEGER, pri
有没有办法在 iOS Playground 上使用录音机?运行时,它会询问我是否允许使用我的麦克风,并且录音机实例似乎可以正常工作,但是,我无法使用 record() 函数。我当前的环境是 iOS 1
我有 2 个表,状态表与配置文件表相连。 Profile 表存储唯一的 tagId,status 表存储多个重复的 tagid 条目。我想按tagid的最后一条记录和第一条记录分组显示。 表:简介注意
我是 的新手 typescript 我需要遍历 Record键入对值进行一些更新并返回 Record . 这是定义类型的方式: type Parent = Readonly>; type Childr
我发现在开发 extjs 应用程序(拉力赛应用程序)时,有时我需要从记录中获取的数据在 record.raw 中而不是在 record.data 中。两者有什么区别,为什么会这样? 编辑 - 添加示例
我需要交叉引用 2 个表。 在 tb1 中是 booking_ref,投资者 在 tb2 中是 booking_ref、investor、cost 麻烦的是如果没有成本,表2中没有记录 所以我有以下查
鉴于:我在 Kafka 中有两个主题,假设主题 A 和主题 B。Kafka Stream 从主题 A 读取记录,处理它并生成与消费记录相对应的多条记录(假设记录 A 和记录 B)。现在,问题是如何使用
我有一个包含 6 个元素的排序数组列表。前 5 个元素有一些值,第 6 个元素为空。 我想循环遍历这个ArrayList,并将第一个记录的前5个元素与下一个记录中的相同元素进行比较。如果任一元素不同,
我有一个包含 3 列的表:ID、Name、ParentID。 如何删除特定记录及其所有子记录(n 层深)? 使用 Entity Framework 3.5。 最佳答案 表是自引用的是应用程序逻辑,它没
获取记录时如何获取最新的记录? 例如: 第一次迭代我用对象名称 Country 保存“Singapore”, 第二次迭代我用对象名称 Country,second 保存“USA” 现在当我获取它的时候
我将使用 C# 和 Xamarin 制作的 iOS 应用重写到 Swift,原因很明显是 Xamarin 的定价和低文档。正在关注this tutorial因为在我的 UITableView 上包含一
假设我有一个线束二进制文件,它可以根据命令行选项产生不同的基准。我对采样这些基准非常感兴趣。 我有3个选择: 更改线束二进制文件以生成一个“性能记录”子进程,该子进程运行基准测试并进行采样 只需执行“
什么 SQL 查询会按名称查找记录,以及具有相同地址但可能不同名称的所有记录? 我有一个选民登记数据库,当我查找个人时,我还想看看还有谁在该地址登记。 我的数据库称为 voters,其中的表称为 ex
我在我的 mac 上设置了一个 Tsung 配置,并尝试在我正在开发的网站上记录一个测试。 我跑了:“tsung-recorder start”并在 firefox localhost:8090 中为
我需要将 JOOQ 的记录结果集转换为表记录列表。有什么方法可以做到吗? 最佳答案 是的,您可以使用 Result.into(Table) .一个例子: Result result = create.
我正在尝试将 CKReference 添加到云工具包中的记录,但尝试不断触发“服务记录已更改”。从我的 println 显示的控制台消息(下面的控制台消息和代码), 我正在上传带有 0 个引用的记录,
我有两个类:Artist 和 Instrument。每个 Artist 可以演奏一个或多个 Instrument。每个 Instrument 可以分配给一个或多个 Artist。所以,我设置了以下类:
我是一名优秀的程序员,十分优秀!