Tag: 剖析器

用于生产的最佳和最安全的Java Profiler?

我正在寻找一个Java Profiler,用于需求非常高的生产环境,无论是商业还是免费的,都满足以下所有要求: 与代码的轻量级集成(不需要用特殊选项重新编译,不需要代码钩子等等)。 在应用程序代码旁边放置一些Profiler特定的.jar是可以的。 应该能够连接/断开连接到JVM而无需重新启动应用程序。 分析不活跃时,对性能没有影响 分析活动时,对性能的影响可以忽略不计。 很轻微的降解是可以接受的 必须完成分析器所需的所有“预期”工作 – 在每种方法中花费的时间来查找热点,对象分配/内存分析等。 从本质上讲,我需要一些能够在生产过程中处于hibernate状态的东西,而不需要任何人知道或关心它是否存在,但是却可以自由地连接到麻烦(和性能下降),以确定难以发现的问题,如热点和同步的问题。

超越堆栈采样:C ++ Profiler

黑客的故事 这个date是12/02/10。 圣诞节前的日子正在stream逝,我几乎是一个Windows程序员打了一个主要的路障。 我一直在使用AQTime,我试过困,有光泽,很困,而且正如我们所说,VTune正在安装。 我试图使用VS2008分析器,这是积极的惩罚,以及往往不知情。 我使用了随机暂停技术。 我已经检查了一些调用树。 我发射了function痕迹。 但是令人痛心的事实是,我正在使用的应用程序有超过一百万行代码,可能还有另外一百万行第三方应用程序。 我需要更好的工具。 我读过其他主题。 我已经尝试了每个主题中列出的每个分析器。 只要有一些比这些垃圾和昂贵的select更好的东西,或者可笑的工作量几乎没有收获。 更复杂的是,我们的代码是高度线程化的,并且运行了一些Qt事件循环,其中一些是非常脆弱的,由于时间延迟,它们在沉重的仪器下崩溃。 不要问我为什么要运行多个事件循环。 没有人能告诉我。 Valgrind在windows环境下有更多的select吗? 有没有什么比我已经尝试过的那些破碎的工具更好? 是否有任何devise与Qt集成,可能与队列中的事件有用的显示? 我试过的工具的完整列表,以及那些在斜体中非常有用的工具: AQTime:相当好! 深度recursion有一些问题,但在这些情况下调用图是正确的,可以用来清除你可能有的任何混淆。 不是一个完美的工具,但值得尝试。 这可能适合你的需求,大部分时间对我来说确实够好。 debugging模式下的随机暂停攻击:没有足够的信息足够的时间。 一个好工具,但不是一个完整的解决scheme 平行工作室:核select。 突兀,怪异,疯狂的强大。 我认为你应该进行30天的评估,并确定它是否合适。 它也很酷。 AMD Codeanalyst:精彩,易于使用,非常容易崩溃,但我认为这是一个环境问题。 我build议尝试一下,因为它是免费的。 Luke Stackwalker:在小型项目上工作得很好,有点试图让它在我们的工作。 一些好的结果,但它绝对取代了我的个人任务的睡眠。 PurifyPlus:不支持Win-x64环境,最显眼的是Windows 7。 我在其他部门的一些同事发誓。 VS2008 Profiler:以所需的分辨率在function跟踪模式下产生100 +演出范围内的输出。 从正面来看,产生稳固的结果。 GProf:要求海湾合作委员会甚至适度有效。 VTune:VTune的W7支持犯罪分子。 否则优秀 个人识别码:我需要破解我自己的工具,所以这是不得已而为之的。 昏昏欲睡\ VerySleepy:有用的小型应用程序,但在这里失败。 EasyProfiler:不错,如果你不介意一些手动注入的代码来指示在哪里工具。 Valgrind:只有nix,但是当你在这个环境里时,它是非常好的。 OProfile:仅限Linux。 Proffy:他们拍野马。 我还没有尝试过的build议工具: XPerf: […]

如何在R中有效地使用Rprof?

我想知道是否有可能以类似于matlab的Profiler的方式从R代码中获取configuration文件。 也就是说,要知道哪些行号是特别慢的行号。 我迄今为止所达到的目标不知如何是令人满意的。 我用Rprof使我成为一个configuration文件。 使用summaryRprof我得到如下内容: $by.self self.time self.pct total.time total.pct [.data.frame 0.72 10.1 1.84 25.8 inherits 0.50 7.0 1.10 15.4 data.frame 0.48 6.7 4.86 68.3 unique.default 0.44 6.2 0.48 6.7 deparse 0.36 5.1 1.18 16.6 rbind 0.30 4.2 2.22 31.2 match 0.28 3.9 1.38 19.4 [<-.factor 0.28 3.9 0.56 7.9 levels 0.26 3.7 0.34 4.8 […]