作为课程项目的一部分,我需要分析一段C ++代码的性能,并找出在运行代码时主要使用计算机体系结构的哪些部分(MIPS或x86),这可能是性能的瓶颈。我正在寻找各种Profilers来分析性能,并遇到SimpleScalar这是一个很棒的工具,但遗憾的是只适用于C代码。
由于我更熟悉MIPS architecture,如果有一个像SimpleScalar这样的工具来模拟和分析MIPS的C ++代码,那将会很棒。我正在研究性能关键部分,如分支,缓存,指令集,寻址模式等。如果没有,提及任何可以对x86架构进行类似分析的工具也会很棒。
(只是为了澄清,我不是在寻找任何旧的分析器,但是对于那些了解CPU微体系结构且知道CPU的哪些部分被利用或未充分利用的人来说。)
答案 0 :(得分:3)
CACTI详细介绍了缓存的低级模拟。
SESC是一个支持MIPS的周期准确computer architecture simulator。 SESC包括CACTI。
答案 1 :(得分:0)
我怀疑你想要什么是可能的。 C ++是一种语言,但它仍然需要编译到目标体系结构。优化(或缺少它们)将决定许多性能标准,如缓存使用等。所以我猜你需要寻找机器级分析器(希望它们支持编译器的调试格式,所以你看到源代码上下文)。
答案 2 :(得分:0)
我的理解是SimpleScalar可以模拟和分析MIPS机器代码,无论它是从哪个原始语言编译而来。 (SimpleScalar附带的源代码级调试器“DLite!”可能只支持几种语言,但听起来您不需要“调试”代码。)