我一直在寻找对VisualVM上下文中"自我时间"实际引用的一致而清晰的解释,以及它与"自我时间(cpu)"的区别.'自我时间[%]'也指自我时间或自我时间CPU.
似乎没有太多关于此的文档,或者至少我没有找到它.所以任何想法/意见将不胜感激.
我正在使用Python开发一个固有的多线程模块,我想知道它在哪里花费时间.cProfile似乎只是描述主线程.有没有办法分析计算中涉及的所有线程?
我试图在我的mac(os x Lion)上描述一些c ++代码,但我找不到任何有用的东西.我正在寻找一个能够告诉我什么函数占用我的CPU时间的探查器(类似于matlab探查器).
这是我尝试过的
真的很感激帮助!
我正在通过命令行编译一个IPhone应用程序(所以没有涉及XCode选项),我无法在使用Instruments进行分析时显示我的符号名称.我已经尝试了几个标志,如-gdawrf-2和-g,没有任何成功.我也尝试使用dsymutils生成.dSYM文件,但我不知道我应该如何使用它以便失败.
任何帮助将不胜感激!
在Eclipse中分析Android应用程序的标准方法是使用插件DDMS并创建包含所有信息的跟踪文件.如果要查看此信息,可以使用"traceview".我不喜欢我对此应用程序的第一次体验,因为您无法过滤结果.您有很多方法调用来启动您的应用程序,您不能只过滤您的代码.
我一直在寻找另一种方法.我发现本教程使用Eclipse*TPTP可视化Google*Android*性能分析数据,该数据解释了如何使用Eclipse测试和性能工具平台(TPTP)性能分析工具来可视化Android性能分析数据.感谢上一篇文章写入SD卡的权限,我设法将我的跟踪文件从Android模拟器转移到我的文件系统中.下一步是将此.trace文件转换为TPTP .trcxml文件.我没有找到他们谈论的转换器.
有谁知道我在哪里可以找到这个转换器?您是否知道使用TPTP或其他更成熟的免费分析工具分析此跟踪文件的另一种方法?你知道另一种配置Android应用程序的方法吗?提前致谢
编辑1:
我找到了一些有趣的工具,可用于分析Android应用程序的内存使用情况.为了从Eclipse中获取内存,您必须从DDMS预期中"转储HPROF文件".在此之前,您必须在DDMS首选项面板中选择"HPROF Action","保存到磁盘"操作.因此,从现在开始转储HPROF文件时,系统会询问您要保存.hprof文件的位置.您必须使用Android工具"hprof-conv"转换此文件,您可以在Android SDK安装目录"./tools"下找到该工具.最后,您现在可以使用Eclipse MAT插件查看内存使用情况统计信息.我希望它会帮助别人.如果有人知道关于分析Android应用程序的其他内容,它将会感激.谢谢
我在我的一个程序上运行了ruby-profiler.我想弄清楚每个字段的含义.我猜测一切都是CPU时间(而不是挂钟时间),这太棒了.我想了解"---"代表什么.那里有某种堆栈信息.调用a/b是什么意思?
Thread ID: 81980260
Total Time: 0.28
%total %self total self wait child calls Name
--------------------------------------------------------------------------------
0.28 0.00 0.00 0.28 5/6 FrameParser#receive_data
100.00% 0.00% 0.28 0.00 0.00 0.28 6 FrameParser#read_frames
0.28 0.00 0.00 0.28 4/4 ChatServerClient#receive_frame
0.00 0.00 0.00 0.00 5/47 Fixnum#+
0.00 0.00 0.00 0.00 1/2 DebugServer#receive_frame
0.00 0.00 0.00 0.00 10/29 String#[]
0.00 0.00 0.00 0.00 10/21 <Class::Range>#allocate
0.00 0.00 0.00 0.00 10/71 String#index
--------------------------------------------------------------------------------
100.00% 0.00% 0.28 0.00 0.00 0.28 5 FrameParser#receive_data
0.28 0.00 0.00 0.28 5/6 …Run Code Online (Sandbox Code Playgroud) 在Java VisualVM中,有没有办法显示总方法时间,而不是"自我时间"?(后者并不是特别有用,因为它没有告诉你任何方法实际运行的时间.)
如果没有,是否有任何独立的免费Java分析器可以计算总方法时间?
列出您最喜欢的堆分析工具(例如jprofiler,jmap,...).让我们为每个答案保留一个工具,并列出每个工具的优缺点.
我最近从Delphi 4升级到Delphi 2009.使用Delphi 4,我一直使用Primoz Gabrijelcic的GpProfile作为分析器,使用Turbo Power的Memory Sleuth进行内存分析和泄漏调试.两者都适合我.但我现在需要能够与Delphi 2009配合使用的新工具.
对于Delphi的分析/分析工具的领导者显然是AutomatedQA的AQTime.他们最近甚至吞噬了Atanas Soyanov的Memproof,据我所知这是一款出色的免费记忆分析工具,并将其功能融入AQTime.但AQTime对于个人程序员来说非常昂贵.它实际上比升级到Delphi 2009成本更高!
所以我的问题是:是否还有其他较便宜的选项可以在当前版本的Delphi中进行性能分析和内存分析,您对此感到满意并推荐,或者我应该咬紧牙关并为AQTime付出巨额代价?
Addenum:似乎早期的回答者表明已经包含在Delphi中的FastMM管理器非常适合发现内存泄漏.
那么,源代码分析有什么好的选择吗?
我很好奇的是Michael Adolph的ProDelphi,它不到AQTime成本的六分之一.你用它吗?AQTime值六倍的价值吗?
Addenum 2:我下载了AQTime和ProDelphi的试用版.
AQTime起初有点压倒性,有点令人困惑.花了几个小时才找到了解决它所需的一些技巧.
ProDelphi非常像我习惯的GpProfile.但是它的窗户混乱而且令人困惑,而且它不如GpProfile那么好.
对我来说,差异似乎是:
ProDelphi会更改您的代码.AQTime没有.如果出现问题,更改代码可能会损坏您的数据,但我对GpProfile的体验是它从未发生在我身上.加一个AQTime.
ProDelphi要求您关闭优化.但是你想要描述的是你的程序,它的优化程度,运行方式.加一个AQTime.
ProDelphi只能剖析功能或程序.AQTime可以归结为单独的线路.AQTime加2.
ProDelphi有一个免费版本,可以分析20个例程,其专业版本的成本不到100美元.AQTime是600美元.ProDelphi加4.
目前比分是4-4.你怎么看?
Addenum 3:Primoz Gabrijelcic计划让GpProfile再次运作.请参阅他对以下一些回复的评论.他在StackOverflow上饰演Gabr.
Addenum 4:看起来似乎可能有一个分析器解决方案.参见Andre的开源asmprofiler,如下所述.