首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对特定包的Scala/Java分析

针对特定包的Scala/Java分析
EN

Stack Overflow用户
提问于 2011-10-28 01:30:50
回答 2查看 626关注 0票数 2

我最近发现我编写的程序非常慢,为了修复它,我想分析一下它。到目前为止,我选择的工具是Yourkit和hprof,但是我也没有找到我想要的功能。

理想情况下,我希望为我的所有源文件提供一个MATLAB Profiler风格的热图,更强的颜色表示在这一行中花费了更多的时间。我意识到这是一个很大的要求,所以如果它不存在,我不会感到惊讶。

如果以上不可能,我想要的是能够执行hprof cpu=samples样式分析,但我不想泄露项目中执行的所有类的所有方法的列表,我希望能够排除名称空间(例如:Java.java)。并在堆栈中调用方法而不是在排除的命名空间中调用的堆栈中的最低级别对这些方法进行属性化。例如,如果我有以下内容

代码语言:javascript
复制
def sillyMethod: Unit = {
   0.until(1000000).map{ i => 
      (0 until 1000).toSeq + 1) ==  ( 0 until 1000).toSeq + 2 )
   }
}

我更愿意知道,我所有的时间都花在sillyMethod上,而不是在Seq.equals上。任何可用的分析器都能做到这一点吗?

编辑:我目前正在使用sbt执行命令和实际编辑的IntelliJ想法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-28 02:14:50

我已经很长时间没有看过你的工具包了,但是如果它的分析器不能排除包或者限制剖析包,我会很惊讶。JVM实际上附带了一个不太坏的分析器。视景包含在jdk中。请注意,分析页面上的第二个屏幕截图在底部有一个“只配置文件类”部分,因此如果您只将包放在其中,那么您将不再分析其他任何内容,或者您可以深入分析特定的包或类。

票数 3
EN

Stack Overflow用户

发布于 2011-10-28 09:53:13

JProfiler有一个调用图,可以在类和包聚合级别上操作。

如果在会话设置中指定顶级包,则不会看到Scala类的任何内部结构。

免责声明:我公司开发JProfiler

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7924255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档