c - x86 汇编指令执行计数

标签 c profiling branch x86 emulation

大家好 我有一个代码,我想找到每个流水线执行的次数。我不在乎是通过分析还是仿真,但我想要高精度的结果。我曾经遇到一个论坛,该论坛提供了一些脚本代码来执行此操作,但我丢失了链接。谁能帮我集思广益一些方法来做到这一点? 问候

编辑: 好吧,我想我已经走到一半了。根据一篇帖子,我对英特尔手册 3A 第 16.4.5 节提供的 BTS(分支跟踪存储)进行了一些研究。此功能提供分支历史记录。所以现在我需要你的帮助,看看是否有任何开源脚本或工具可以做到这一点。等待查看您的反馈

干杯=)!

最佳答案

如果您的处理器支持,您可以启用 Branch Trace Store (BTS)。 BTS 将所有采用的分支的日志存储在内存中的预定义区域中。每个条目都包含分支源和目标。使用它,您可以计算您在每个代码段中的次数。

volume 3AIntel Software Developer's Manual ,第 16.4.5 节(当前版本)了解如何启用它的详细信息。

关于c - x86 汇编指令执行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530527/

相关文章:

java - 获取 String.equals 调用跟踪

SVN 分支 : Delete branch locally, 但未显示为已修改

git - 当我已经有多个分支时应该如何添加新文件

java - 在 tomcat 服务器中添加 Profiler 脚本

c - C中的可变长度数组并就地初始化

c++ - 将 wsprintf 与 malloc 一起使用

c - 如何检查 free(node) 是否有效

ruby-on-rails - 在 Rails 应用程序中分析 PostgreSQL 请求的最佳方法是什么?

svn - 如何使用 subversion 管理生产/测试/开发配置信息?

c - 特定 sockaddr_in 变量名出现意外编译错误