Windows是否有适当的采样(例如,非仪器)分析器?最好一个类似于鲨鱼在MacOS,虽然我愿意接受我我将不得不支付这样一个分析器上的窗口.
我试着在VS团队套件探查,并没有太深刻的印象,并想知道是否有任何其他好的.
[编辑:ERK,我忘了说,这是C/C++,而不是.NET - 抱歉任何混淆]
对于Windows,请查看Windows SDK附带的免费Xperf.它使用采样配置文件,具有一些有用的UI,并且不需要检测.对于跟踪性能问题非常有用.你可以回答以下问题:
谁使用最多的CPU?使用调用堆栈深入查看函数名称.
谁分配的内存最多?
出色的内存分配(泄漏)
谁在进行大多数注册表查询?
磁盘写?等等
我知道在问这个问题几个月之后我正在添加我的答案,但我想我会指出一个体面的,开源的分析器:非常困.
它没有之前提到的其他一些分析器的功能计数,但它是一个非常值得尊敬的采样分析器,在大多数情况下都能很好地工作.
英特尔VTune很好,并且没有仪表.我们为Windows评估了大量的分析器,这对于使用驱动程序代码是最好的(尽管它也有非托管用户级代码).一个特别的优势是它可以读取所有英特尔处理器性能计数器,因此您可以很好地理解代码运行缓慢的原因,并且将预取指令放入代码并整理数据布局以便与缓存行,以及缓存行在多核系统中失效的方式.
它是商业性的,我不得不说它不是世界上最简单的用户界面.
AMD的CodeAnalyst 在这里是免费的