首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汇编代码性能分析

汇编代码性能分析
EN

Stack Overflow用户
提问于 2014-10-01 15:56:19
回答 1查看 200关注 0票数 2

我对堆叠溢出很陌生,希望能得到一些关于如何解决问题的建议。由于没有多少组装经验,我很难对我所拥有的每个代码的性能特性进行推理。代码是用C语言在PowerPC体系结构(一种旧的苹果G5)上编写的。使用O3和其他一些优化运行代码,实际运行速度比O3慢30%左右。装配代码之间的区别归结为几个指令(例如3-4)和它们的安排。

我的问题是由于我缺乏经验,我很难理解为什么装配输出在情况下表现更差,在另一种情况下表现更好。像oprofile这样的工具在这里并没有真正的帮助,而查看官方的IBM指令文档并没有给出任何关于perticular指令的性能特性的洞察力(至少到目前为止我已经看到了)。如何处理这类分析问题?如前所述,我在装配和管道分析方面的经验很少,因此,我希望就人们通常如何处理此类问题提出任何建议。有什么工具可以帮助我吗?

此外,我并不真正感兴趣的是为什么编译器以它的方式生成代码(从某种意义上说,我对原始C代码的工作方式并不感兴趣),我真正感兴趣的只是理解程序集性能分析。

更新

我只想简单地更新一下这个问题--通过使用IBM的PowerPC管道模拟器,可以准确地看到在管道中发生了什么,因此更容易理解这个问题(结果是一个与问题队列满和调度组的形成有关的问题)。我建议任何人看到类似的问题使用管道模拟器,这将大大有助于了解您的程序的性能!由于功能强大的机器的复杂性,不使用流水线模拟器就很难分析程序的性能特性。这可能意味着,为了真正了解程序如何影响性能,有必要了解代码正在运行的体系结构。

EN

回答 1

Stack Overflow用户

发布于 2014-10-01 20:32:23

..。如前所述,我在装配和管道分析方面的经验很少,因此,我希望就人们通常如何处理此类问题提出任何建议。..。

我建议以下材料和使用实例。虽然它们是基于IBM POWER7(+)的,但是其中的想法和解释可能会给您提供一些上下文:

代码语言:javascript
复制
"Commonly Used Metrics for Performance Analysis – POWER7" [0] 
    (First, this paper briefly covers the POWER7 execution pipeline and the PMU hardware. ...)

 "Comprehensive PMU Event Reference – POWER7" [0]  (Performance Monitor
 Unit instrumentation. These events can be measured using tools
 like...)

"Evaluate performance for Linux on POWER" (developerWorks) (Learn to evaluate Linux on POWER® performance issues that focus on compiled language (such as C or C++) environments...)

"Java performance improvements seen on POWER7+" (PowerLinux Community)
    (The processors feature a built-in Performance Monitoring Unit (PMU), designed to provide instrumentation for performance monitoring, workload characterization, and code analysis....)

来源

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26145474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档