Java 太多的插件会减慢Eclipse的速度吗?

Java 太多的插件会减慢Eclipse的速度吗?,java,eclipse,ide,eclipse-plugin,performance,Java,Eclipse,Ide,Eclipse Plugin,Performance,我最近在Eclipse中安装了一个新项目,还需要安装一些插件来管理它。我还安装了其他插件,我不需要管理该项目,但我认为可以尝试一下 在这之后,我注意到我的IDE没有以前那么快响应。我不确定这是否与新项目的规模(它几乎是我以前工作区的8倍)或安装的插件数量有关 由于我对项目的规模无能为力,圣诞节已经过去,我也不会很快得到新的硬件,我想知道我是否可以对插件做些什么(除了卸载它们:p) 我是否可以将它们配置为在打开相关透视图或视图时延迟加载?我不确定它们到底是如何工作的,但我想情况已经是这样了 我可以

我最近在Eclipse中安装了一个新项目,还需要安装一些插件来管理它。我还安装了其他插件,我不需要管理该项目,但我认为可以尝试一下

在这之后,我注意到我的IDE没有以前那么快响应。我不确定这是否与新项目的规模(它几乎是我以前工作区的8倍)或安装的插件数量有关

由于我对项目的规模无能为力,圣诞节已经过去,我也不会很快得到新的硬件,我想知道我是否可以对插件做些什么(除了卸载它们:p)

我是否可以将它们配置为在打开相关透视图或视图时延迟加载?我不确定它们到底是如何工作的,但我想情况已经是这样了

我可以做些与插件相关的事情来加速我的IDE吗


谢谢。

在Eclipse启动期间,它会加载模块和插件,所以这是真的。此外,使用过多插件会增加IDE的RAM需求。这可能就是原因

有一个早期启动功能,允许在工作台启动后加载插件:

描述:此扩展点为 用于注册希望 在启动时被激活。作为startup元素上的属性提供的类必须实现接口org.eclipse.ui.IStartup。工作台启动后,将从单独的线程调用方法earlyStartup()。
……
请注意,此表单已弃用,并且 不应再使用。它的 功能取决于可用性 的 org.eclipse.core.runtime.compatibility 插件和 org.eclipse.core.runtime.compatibility.registry 碎片。提供 此扩展点的扩展是 在工作台首选项中列出 用户可以禁用任何插件 从早期启动开始


链接:

Eclipse只在开始时加载插件的插件XML,因此每个插件的开销最小。插件的类在需要时加载。。。至少如果插件编程正确。最有可能的不是插件的数量导致了增长放缓

它可能是您的程序的大小(我没有注意到java项目大约有200.000 LOC的速度减慢)


或者它可能是一个或两个编程错误的插件。您可以尝试逐个停用以查找导致减速的原因。然后,您可以决定是否可以更换或删除它。

不确定插件是否是您的问题,但这里有两件事在过去帮助了我:

首先,我建议您为eclipse处理
Xmx
Xms
参数。为Eclipse提供最大内存会有很大帮助。例如,我将
Xmx
设置为1024M,但它可以更高(虽然它有一个上限,但我不记得它是什么)。另一个要查看的参数是
启动器.XXMaxPermSize


第二,我不确定这是否适用于你们——但值得一提的是,这太愚蠢了,可能会被忽视。我的eclipse工作区在我的主目录中有一段时间了——它存储在隔壁房间的服务器上。当我将它移动到我机器上的本地目录时,响应时间要快得多。也许你忽略了这样的事情。

据我所知,插件不会影响eclipse的整体性能,除非它们被激活。 当然,看到这个了吗

您可以创建一些自定义透视图,在其中显式地不激活某些插件,但一旦使用插件,只要打开eclipse,它就会保持活动状态


首先从优化eclipse.ini开始(请参阅),看看问题是否仍然存在。

一些插件在启动时加载,允许您指定最初不加载它们。以后可能会根据需要加载它们


打开首选项并导航到常规->启动和关闭。您将找到一个插件列表,这些插件被标记为在启动时自动加载。您可以禁用这些插件中的任何一个。但是,如果您确实使用它们,它们将按需加载

当然可以。我们一直在使用MyEclipse(它基本上是Eclipse,集成了大量插件),而且开箱即用的速度非常慢。如果您发现性能不可接受,您应该禁用任何未使用的插件。

许多Eclipse插件会在构建过程中添加验证周期。例如,JBoss工具添加了Seam验证器,这些验证器在构建过程中会消耗大量资源。您可以使用Eclipse首选项禁用一些不必要的validtors。

是的,如果已安装且未在启动时停用以加载,则启动肯定会减慢。我非常具体地注意到了这一点。

是在启动时安装完整的插件,还是只是某种加载程序?关于RAM,我已经配置为使用我能给IDE的最大内存大小运行。这是一个很难回答的问题,理想情况下,在启动期间不加载整个插件,eclipse只读取清单文件,除非您使用它,否则整个加载不会完成,但某些插件的行为可能不同。看到这个链接,它有一个很好的解释:即使我关闭透视图,它们也会保持活动状态吗?@AdriánPérez不确定,自2010年以来事情可能已经发生了变化,但扩展注册中心仍然在e4中使用(这意味着这些扩展并不都是OSGi服务),并且,为了避免重新初始化它们的成本,它们可能会。