寻找低影响的 c++ 探查器
Looking for a low impact c++ profiler
我正在寻找一个低影响、独立于操作系统的 C++ 代码分析器。
当我说低影响时,我指的是比瓦尔格林德侵入性更小的东西。我计划在基于 MIPS 的嵌入式环境中使用它(因此是操作系统独立性(,并尝试了 valgrind 的移植版本,它完全改变了性能特征(太多的海森堡原理在起作用(,所以我不能走那条路。我们知道内存总线速度是一个瓶颈,这很可能解释了为什么valgrind如此具有侵入性。
我创建了一个基于检查点的本土类型的探查器,让我可以测量代码的某些部分。基本上,我必须修改代码(并重新编译(以在代码中的战略位置设置检查点。然后,在执行时,它存储每个检查点被命中的次数以及自命中最后一个检查点以来的时间。然后,在运行它之后,我可以转储检查点,并为每个检查点计算:命中数、最大时间、最小时间、平均时间等。
这个分析器(我称之为LowImpactProfiler(工作正常,但我想知道是否有更好的东西。
我考虑了oProfile,这是一个采样分析器,但由于我没有运行Linux,我认为实现起来真的很困难。
我已经使用Shiny在非常有限的嵌入式设备上进行了分析,并取得了巨大的成功。从您的描述来看,它采用了与LowImpactProfiler类似的方法。
如果您使用的是Windows,则可以尝试我的分析器,此处描述 http://ravenspoint.wordpress.com/2010/06/16/timing/
听起来它可能比你的更容易使用,但它不是独立于操作系统的。 它使用对 QueryPerformanceCounter(( 的调用,这是一个 Windows API。 它是开源的,因此使用那里可用的高性能计时器将其移植到您的操作系统可能是值得的。
- CoreCLR 中的检测探查器 - 将帮助程序程序集加载到 dotnet 进程的方法
- CUDA内核printf()在终端中不产生输出,在探查器中工作
- 为什么我在探查器中看到__scalbnf?
- 附加到 C++/CLI dll 的性能探查器无法访问本机C++代码
- c++代码的探查器,非常困
- 为 C/C++ 编写检测探查器的最简单方法是什么?
- 探查器中的cudaErrorIllegalAdress
- CLR 探查器:COM 样式的强制转换和从派生接口调用函数
- 寻找低影响的 c++ 探查器
- Netbeans 7.1.2 中的C++探查器在哪里
- 使用 Visual Studio 2012 探查器分析 C++
- 我已经设置了 CPUPROFILE 环境变量和链接的 -lprofiler。为什么 gperftools 不启动探查器?
- C++探查器,它显示程序特定部分的调用路径
- NVIDIA Visual探查器不生成时间线
- VTune 探查器给出错误:"The Data Cannot be displayed,there is no viewpoint available for data "
- VS2013-对项目使用性能探查器的配置要求
- C++内联在一个单例中被忽略,并显示在我的探查器中.怎么会
- 适用于Windows的体面探查器