performance - 如何使用硬件性能计数器捕获退役指令事件的准确值?
问题描述
硬件性能计数器测量的准确性在文献中被广泛讨论。使用硬件性能计数器,我们可以测量多种类型的微架构事件,例如缓存命中和未命中、加载和存储以及停用的指令。但是,这些测量仍然存在疑问,它们的准确度如何?正如许多论文中所说明的那样,使用不同的设备,结果可能会有所不同。其中一些事件,如存储指令,是确定性事件,即存储事件的测量结果不会随着程序的重新执行而改变,并捕获性能计数器值。退休指令不是。这意味着,如果我们测量代码的一部分,例如循环语句,我们可能会从 run 到另一个获得不同的计数器值。在【这篇文章】中,作者写道:
“当确定性计数器确实可用时,它们不仅会受到那些从事确定性重放和模拟器验证器工作的人的欢迎,而且也会受到性能计数器的所有用户的欢迎。”
顺便说一句,我们是否可以将确定性事件(如存储事件)与退役指令结合使用来引入确定性用户定义事件?
任何帮助将不胜感激
解决方案
推荐阅读
- javascript - 具有空值的firebase推送方法是否仅用于获取ID,触发child_added事件?
- r - 使用 stringr 匹配所有换行符
- php - 如何制作 Laravel 动态数据表?
- python - 不能接受多个输入
- javascript - 如何自动取消静音
- amazon-web-services - AWS IAM:条件上下文键“aws:RequestTag”如何工作?
- javascript - 如何在 Element ui 表中对本地日期进行排序并重新格式化?
- java - 为什么 gmail 会显示使用 MimeMessageHelper addInline 与 Amazon SES 一起发送的图像的“无名”附件?
- mysql - 我可以在 MySQL 中使用一个查询在表中插入(“挤入”)一行并在插入行之后增加剩余值吗?
- javascript - 图片源标签中包含的 SVG img 的链接部分