具有托管功能的 Win32 平台的低开销(统计)分析器
Posted
技术标签:
【中文标题】具有托管功能的 Win32 平台的低开销(统计)分析器【英文标题】:Low overhead (statistical) profiler for Win32 platform with managed capabilities 【发布时间】:2009-07-31 02:18:47 【问题描述】:任何人都可以推荐 Windows 上的 LOP 吗?类似于 Linux 的 OProfile 或 OS X 的 Shark。
必须能够对非插桩二进制文件进行采样 能够解析 CLR 堆栈 首选延迟 PDB 解析符号 影响足够低,能够在实时生产系统上获得不错的阅读效果【问题讨论】:
【参考方案1】:Visual Studio Team Suite 分析器非常棒。它的工作如此出色,让我看起来更擅长自己的工作。
Redgate 有一个 performance profiler 和 memory profiler 我没用过。
【讨论】:
它检测二进制文件,这是不可能的 @Remus:如果你在采样模式下没有。 K,不知道他们用 VSTS 公开了 lop F1。是的,前世大量使用过,还不错。【参考方案2】:自动化 QA 的 AQTime 救了我的命。我用它来解决一个 .NET Web 服务调用一些令人讨厌的旧 C 代码的问题,并且它做得很好。
【讨论】:
【参考方案3】:This is what I use.虽然不适合现场制作使用,但可以满足你的其他需求。
对于现场制作使用,您需要对堆栈进行采样的东西。在我看来,如果它有一些小的开销是可以的。我的目标是发现需要优化的活动,为此我愿意为速度付出暂时的代价。
总是有一个或多个感兴趣的时间间隔,例如收到请求和响应发出之间的时间间隔。令人惊讶的是,在这样的时间间隔内您需要这么少的样本来找出耗时的原因。
不需要高精度的计时。如果有 X 发生,通过优化可以为您节省 50% 的间隔,这大约是显示 X 的样本的一部分。
【讨论】:
以上是关于具有托管功能的 Win32 平台的低开销(统计)分析器的主要内容,如果未能解决你的问题,请参考以下文章
ARM NEON 内部函数将 D(64 位)寄存器转换为 Q(128 位)寄存器的低半部分,而上半部分未定义