我们在其中一个应用程序中包含一个包含所有代码的eclipse项目。我认为这是相当数量的代码 - 不是一个小项目,但也不是一个巨大的代码。我跑了一小检查,并得到:当项目包含很多链接时,Eclipse会变得很慢
找到< 4245>代码文件
总计的代码< 421557>线
这种检查包括任何代码行不为空或只是含{
或}
。
因此,这不是一个巨大的项目 - 然而,.project
定义了许多链接来掩盖真实的目录结构,为Package Explorer
创建不同的视图 - 所以项目会更有意义。
问题是eclipse
在某些区域工作速度很慢。
例子:在工作区
- 查找引用(按Ctrl + 移 + 摹) - 相比,我通过
jadclipse
或在此幅度 - 反编译工作在之前的项目需要很长的时间
JDEclipse
可能需要多达1分钟 - 导致eclipse
在标题栏上显示可爱的(不响应)后缀。从eclipse
以外反编译的相同代码不到一秒钟。 - JUnit测试执行 - 启动执行需要10秒以上,其中
eclipse
似乎没有做任何重要的事情。
任何想法,为什么会发生这种情况,如果它可能是一个“复杂”的项目结构的结果?使用eclipse 3.6
,没有安装许多插件。
编辑:
使用resmon
最终给我的问题。我注意到eclipse一直试图连接到网络共享 - 它并不需要太多的CPU或IO,但它仍然在那里。 当检查.classpath
文件我注意到了这一点:
<classpathentry kind="lib" path="build_class" sourcepath="some share using samba ...">
我们引用的份额甚至不是一个正确的路径,但是这可能导致大量的开销在每一个活动。
卸下sourcepath
附件,并把它当作:
<classpathentry kind="lib" path="build_class">
立即解决的问题。由于我们以任何方式使用反编译插件,所以我们没有受到这种改变的伤害。
另外,如果您使用Windows和磁盘是瓶颈,我相信使用ReadyBoost与适当的USB密钥可以提高性能。 – 2011-06-07 10:00:43
如果仅限于单个项目,该怎么办?我尝试了几个其他项目(单独的工作空间),他们都没有受到这个问题的困扰。你仍然认为'jvisualvm'可以提供帮助吗? – RonK 2011-06-08 19:32:46
如果它只是一个单独的项目,您会发现有不同的_inside_Eclipse触发它。我的猜测是,jvisualvm会显示Eclipse JVM的行为如上所述。 – 2011-06-08 19:35:35