例如:我禁用了所有不需要的插件(Mylyn,Subclipse等)。
我没有使用Mercurial插件,而是将TortoiseHG配置为外部工具。
#1 楼
Eclipse速度的三个最有影响力的因素是:使用最新版本的Eclipse(2020年6月26日为2020-06)
请注意,DavidBalažic的评论(2014年7月)与该标准相矛盾在六年前就可以使用了:
Indigo(3.7.2)SR2中的“相同”工作空间在4秒内加载,Kepler SR2(4.3.2)在7秒内加载, Luna(4.4.0)在10秒内。所有都是Java EE捆绑包。较新的版本具有更多捆绑的插件,但趋势仍然很明显。 (通过“相同”工作空间,我的意思是:使用了相同的(另外安装的)插件,从版本控制中检出了相同的项目)。在撰写本文时为14,这并不妨碍您使用所需的任何其他JDK在Eclipse项目中进行编译:1.4.2、1.5、1.6或更早...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
配置eclipse.ini(有关完整的eclipse.ini,请参阅此问题)
简单的术语)。使用
Xmx
可获得4 GB的RAM等。>启动屏幕更快。
进程列表中的Eclipse.exe而不是java.exe。
防火墙:Eclipse希望访问Internet而不是Java。
窗口管理品牌问题,尤其是在Windows和Mac上。
评论
在其他操作系统上,等效的jvm.dll是什么?
–丹尼尔·鲁奇(Daniel Rucci)
2011年4月1日在20:58
@Dan:来自wiki.eclipse.org/…:“窗口上的jvm.dll,'nix平台上的libjvm.so”。
–VonC
2011年4月1日在21:02
@Dan:请勿将其与libjava.so混淆:在Linux上,libjava.so依赖libjvm.so,但反之则不成立:$ readelf -d libjava.so偏移量为0x208a8的动态段包含25个条目:标记类型名称/值0x00000001(NEEDED)共享库:[libjvm.so] [...]:当该库包含此类信息时,当进程加载libjava.so时,ld.so将自动加载libjvm.so。
–VonC
2011年4月1日在21:08
@Dan如果未提供-vm参数,则默认情况下将在Windows上使用jvm.dll,并在其他OS上默认使用平台默认库(例如libjvm.so);根据VonC发布的链接,“但是,如果尝试将内存推得过高,它也会有一些缺点。”
–Drupad Panchal
2011年6月28日14:30
“使用最新版本的Eclipse”-根据我的经验,情况恰恰相反。 Indigo(3.7.2)SR2中的“相同”工作空间在4秒内加载,Kepler SR2(4.3.2)在7秒内加载,Luna(4.4.0)在10秒内加载。所有都是Java EE捆绑包。从来没有版本有更多捆绑的插件,但是趋势仍然很明显。 (通过“相同”工作空间,我的意思是:使用相同(额外安装)的插件,从版本控制中检出相同项目)
–大卫·巴拉西奇(DavidBalažic)
2014年7月22日12:27
#2 楼
将-Xverify:none
添加到eclipse.ini文件中。这将告诉VM不要验证它正在加载的所有.class文件。 请考虑以下事项:切勿在生产系统中禁用字节码验证
(如注释中所述)
评论
是的,这可行!添加此选项后,RAD的加载速度大大加快。
–jobinbasani
2011年10月14日15:00
我添加了它,它返回了错误:在初始化VM时发生错误,指定的最小和最大堆大小不兼容
–adamwong246
2012年4月20日19:22
类验证的目的是什么?如果我们在启动时禁用它,那么Eclipse何时有机会这样做?
–肯·罗素
2012-12-14 14:34
@RajkumarMasaniayan类验证是确保要运行的代码不会试图欺骗JVM的步骤。
–索比昂·拉文·安德森(ThorbjørnRavn Andersen)
14年6月25日在13:08
基本上,如果禁用类验证,则任何带有漏洞利用的Java类都可以转出Java虚拟机(JVM)并以用户帐户的身份执行所需的任何代码。通常,如果您的安全性取决于JVM包含,请不要禁用验证。但是,考虑到Eclipse插件可以将新文件写入文件系统并启动任何可执行文件,即使进行了验证,您也会遭受很多攻击。结果,我认为使用Eclipse启用类验证并不能真正提高您的安全性。
– Mikko Rantalainen
17年9月26日在7:20
#3 楼
转到Windows->“首选项”->“验证”,然后取消选中您不需要或不需要的任何validators
。对于Eclipse 3.7,请使用Windows->“首选项”->“常规”->“启动和关闭”。
#4 楼
确保使用Sun JVM运行Eclipse。在Linux(尤其是Ubuntu)上,默认情况下会安装Eclipse以使用开源GCJ,而后者的性能则大大降低。使用
update-alternatives --config java
切换到Sun JVM可以大大改善Eclipse中的UI快照。评论
现在,您可以安装openjdk-7,它与Sun Java 7并没有太大区别。
–已退出-Anony-Mousse
2011-12-7 17:36
不可以,Open与Oracle相比,垃圾收集速度要慢得多。这是由于算法存在专利问题。
–马克·洛佩兹(Mark Lopez)
2014年1月12日17:14
@MarkLopez可以为此添加到权威来源的链接吗?
–索比昂·拉文·安德森(ThorbjørnRavn Andersen)
2014年6月25日13:09
在许多情况下,IBM JVM的性能优于Sun JVM ....时代可能已经改变了!
– MikeW
17年7月4日在11:05
现在(2017年),您应该在带有OpenJDK 8的Eclipse上运行(java -version应该说类似openjdk版本“ 1.8.0_131”)。我发现OpenJDK 9会导致许多任务的性能下降(较高的延迟)。
– Mikko Rantalainen
17年9月26日在7:23
#5 楼
关闭任何当前未使用的打开的项目。尝试在开发过程中关闭自动发布模式。
评论
刚学会了另一把戏。关闭未打开的文件夹(我的工作空间中必须有20-30个文件夹)立即引起了明显的变化。
–tunaranch
08年11月25日在3:59
#6 楼
感谢您的提示。这些选项(上面提到的)对我有很大帮助: >
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
另外,由于我们正在优化速度,因此将
-Xms
设置为与-Xmx
相同的值可以使JVM从允许使用的最大内存量开始。 > Linux / Ubuntu:
使用
update-alternatives --config java
评论
为什么将XmX设置为512m?
– IgorGanapolsky
2012年12月5日在20:32
在Ubuntu中运行命令将导致以下结果:“无需配置。”
– IgorGanapolsky
2012年12月20日在9:22
@Igor,堆空间大小(-XmX)取决于系统的内存。当我问这个问题时,512m是我的旧WinXP上网本的最佳值。在此处阅读更多信息:stackoverflow.com/questions/4304312/…
–配对
2012-12-20 10:09
我的意思是运行update-alternatives --config java。那与Eclipse.ini无关
– IgorGanapolsky
2012年12月20日15:20
好吧,“什么都不需要配置。”表示一切都很好。
–配对
2012年12月21日在8:38
#7 楼
通过禁用标签修饰(
Windows -> Preferences; General -> Appearance -> Label Decorations
),并在启动时禁用未使用的功能
(
Windows -> Preferences; General -> Startup and Shutdown
),可以进一步提高性能。通过根据JVM选择不同的垃圾回收策略。如果您厌倦了重新启动周期,则可以使用ZeroTurnaround中的JavaRebel。这样可以缩短您花费在服务器/客户端重启上的时间。
评论
如果您正在寻找OpenSource替代品,请尝试DCE VM而不是JavaRebel。 -ssw.jku.at/dcevm
– KrishPrabakar
2012年7月25日在6:46
我喜欢启动和关机提示。
–克里斯托弗·鲁西(Christophe Roussy)
2014年8月8日在8:27
如果您提供了一些有用的装饰器列表,那么此答案将更有用。对我来说,至少是SVN和一些错误装饰器。
– SPRBRN
16年5月23日在8:15
DCE VM“注意:最新的Java版本1.6更新26与DCE VM不兼容。支持所有较旧的Java 1.6版本。”
– aliopi
18年1月5日在15:41
注意不要蒙住眼睛去掉装饰品(因为我曾经做过一次,并且丢失了一些重要信息,例如git标签等。请参阅:stackoverflow.com/questions/50861795/…)
–JavaTec
18年6月14日在22:18
#8 楼
虽然与Eclipse没有直接关系:如果您正在运行Windows 7(可能是Windows Vista),请确保在默认位置将工作空间文件夹的文件索引禁用-您的主文件夹。 Windows默认情况下会索引主文件夹中的所有内容,通常这只是浪费您的工作空间。 (右键单击资源管理器中的工作区文件夹,属性->高级。)
评论
该技术甚至可以扩展到整个系统磁盘和其他驱动器。最好在全新安装后执行此操作,因为如果有更多文件,此过程可能会花费更多时间。右键单击您要定位的驱动器,在“常规”选项卡的底部,取消选中“允许该驱动器上的文件除文件属性外,还对内容进行索引”。递归过程将开始,这可能需要很长时间,但最终会富有成果。 (尽管它有很大的不同,但是我将这种技术与在Linux上使用“ noatime”和“ nodiratime”选项安装文件系统进行了比较。这也可以创造奇迹。)
–Csaba Toth
13年2月28日在18:18
我建议通常将索引器保持打开状态,除非您通常不使用嵌入在Windows中的搜索功能。对于工作空间,最好将其关闭。
–再见SE
18-3-27在11:24
#9 楼
禁用病毒扫描程序,或至少将任何病毒扫描程序配置为在读取访问权限时不扫描JAR文件。#10 楼
Eclipse懒惰地加载插件,而最常见的插件,如Subclipse,如果不使用它们则什么也不做。它们不会在运行时降低Eclipse的速度,它
不会帮助您禁用它们。实际上,事实证明Mylyn
在正确使用时可以减少Eclipse的内存占用。
我运行带有大量插件的Eclipse,却没有任何性能
。
>
尝试禁用您可能不需要的编译器设置(例如“从未读取参数”下的子选项)。
您正在使用哪个版本的Eclipse?再次升级旧版本
会变得很慢
,因为它们的插件文件夹膨胀了,并带有重复的插件(不同版本)。 br />在3.4版中不是问题。
使用工作集,它们比关闭项目更好,
尤其是如果您需要始终在两个项目集之间进行切换。 br />
这不仅是需要使用-Xmx
开关增加的内存,还是perm gen的大小,我认为
问题已在Eclipse 3.4中解决。 />
#11 楼
在Windows上,尤其是在Linux上,还有另一种真正可以加速Eclipse的功能-将JVM放入RAM磁盘。对于Windows,您可以使用Qsoft提供的商用RAM磁盘驱动程序。 />对于Linux,请使用Internet上许多文章中介绍的任何方法。重要的是,为RAM磁盘提供比JVM大小大10%的额外空间。检查一下。真的很重要。
评论
你能澄清一下吗?您的意思是将target / bin文件夹放在ramdisk上吗?
– nafg
13年1月24日在8:40
您只需将安装后的JRE或JDK目录的全部内容复制到ramdisk中。比在eclipse.ini中添加参数-vm <虚拟磁盘上jdk的路径> /jre/bin/server/jvm.dll(Windows)或jvm.so(对于Linux)
– Darko Miletic
13-4-16在11:38
除非不断从缓存中清除jvm,否则在具有相当数量的ram的linux机器上,怎么可能没有什么不同?您不能只是执行grep -r还是使用vmtouch将页面加载到fs缓存中?
– KarlP
2014年3月28日在22:15
1.)因为Linux交换算法并不完美。 2.)为了其他方面的性能而牺牲了Java性能。
–大卫·巴拉西奇(DavidBalažic)
2014年7月22日12:57
请注意,Ubuntu现在在/ dev / shm中具有内置的RAM驱动器。您可以在启动时将JDK复制到那里。性能提高20-30%。
–多米尼克·塞里萨诺(Dominic Cerisano)
17年7月15日在20:31
#12 楼
我给它提供了大量内存(在启动它的命令中添加一个-Xmx
开关),并尝试避免退出并重新启动它-我发现启动时延迟最严重,因此给它提供大量RAM使我可以继续运行更长的时间崩溃了。评论
全力以赴,尽其所能。贪婪,默认值(<100 meg)明显不足
–肯特·弗雷德里克(Kent Fredric)
08年11月25日在3:31
#13 楼
连同最新的软件(最新的Eclipse和Java)和更多的RAM,您可能需要删除不需要的插件(并非所有人都需要Mylyn和J2EE版本的Eclipse)
不需要的验证程序
禁用拼写检查
关闭Java编辑器中未使用的选项卡(是的,这有助于减少Eclipse负担)
关闭未使用的项目
禁用不需要的标签声明(SVN / CVS)
禁用自动构建
参考:make-eclipse-ide-faster
评论
因此,基本上建议是关闭大多数Eclipse?
– UncaAlby
18年1月26日,0:03
#14 楼
另一个技巧是禁用自动构建。#15 楼
我还调整了vmargs和内容。但是,在Windows上真正加速了Eclipse的是防病毒软件的“正确”配置。您必须禁用打包文件的按需扫描。 jar文件以及与Java相关的许多文件都使用PKZIP算法打包以节省空间。由于Eclipse使用了大量Java文件,因此防病毒软件会尝试分别解压缩并扫描其中的每个文件。因此,对于Windows平台:关闭打包文件的按需扫描,否则Eclipse会变得非常慢。请记住,不幸的是,禁用此功能会使您的系统更容易受到攻击,大多数恶意软件使用打包程序。评论
将Microsoft Security Essentials中的Eclipse,Java和Javac exe列入白名单确实是最大的不同。启动从大约3分钟缩短到不到30秒。
– CPrescott
2014年7月29日,下午3:41
这是一个非常好的主意,如今,我在Windows安装中也只使用Microsoft Security Essentials。白名单比关闭扫描所有打包内容要好得多,因为恶意软件负载也以这种形式出现。
–Csaba Toth
14年7月29日在22:03
#16 楼
我实现了一个插件,以配置要在运行时加载哪些功能,以提高性能并减少不同插件之间的冲突。您可能已在Eclipse中安装了许多功能,例如Android开发工具,C / C ++开发工具,PHP,SVN,Git和ClearCase插件。因此,Eclipse很重,并且占用大量内存,并且其中一些不经常使用。
因此您可以使用我的工具来创建不同的运行时策略,例如具有Android,Git和base的策略。 Eclipse,另一个包含C / C ++,SVN和基础Eclipse。如果您使用的仅具有Android和Git的策略,则下次Eclipse仅加载指定的功能。
欢迎尝试并给我反馈。 :)
该工具的名称是Equinox Advanced Configurator。
#17 楼
拥有一台快速运转的机器是不容小under的。 16-32 GB的RAM,SSD和一个不错的处理器...然后就可以了。评论
这个主题是关于“加速Eclipse”的。因此,我非常怀疑您对优化IDE代码的建议是否会对您有所帮助。我确实同意,尽管您不需要最新的系统即可获得不错的性能。没有声称。我的备用笔记本电脑(以防万一我的主笔记本电脑发生了故障)是一台2008年的MacBook(非Pro),配备Core 2 Duo,我确实将其升级到8GB RAM和60GB SSD(100美元)。就是说,这是一个运行10年的机器,它以出色的性能运行macOS High Sierra和Eclipse PDT。标准2GB RAM和HDD不会出现这种情况。
–Vardumper
18年1月15日在6:55
iroybot,您绝对正确。主题是关于最终用户如何与Eclipse开发人员对令人难以置信的低效代码的冷漠接受作斗争。顺便说一句,您尝试过NetBeans吗?它在2GB RAM和HDD中运行精美。
– UncaAlby
18年1月18日在4:28
我仍然很慢,从冷启动蚀开始需要20秒,是否有办法使打开所有东西只需1秒?
– Benyamin Limanto
6月24日9:44
#18 楼
此线程的最佳实践是从ZeroTurnaround在免费的Optimizer for Eclipse中实现的。它有什么帮助?类验证开销
索引和历史记录过多
JDK过时或缓慢
Eclipse已过时
构建和重新部署时间长
有关更多详细信息,请检查摘自RebelLabs的这篇文章。
#19 楼
努力配置您的构建路径。如果必须完成整个项目文件夹,代码完成会占用大量内存。右键单击您的项目并选择首选项。
选择构建路径设置并删除您的项目文件夹。
然后仅添加具有源代码和库代码的文件夹。
#20 楼
限制打开的选项卡的数量时,我的性能有了显着提高(过去我经常打开30多个选项卡)。您可以让Eclipse自动为您处理此问题:窗口->首选项->编辑器->自动关闭编辑器
8个打开的选项卡是>>符号出现之前的数量,所以我倾向于将其保留为8。
打开更多标签时,将关闭最近访问最少的标签。
->所有编辑器脏了或固定住时
如果未保存的修改,您可以提示保存并重复使用(选项卡将关闭,一个新的位置将被打开)。或者,您也可以打开一个新的编辑器端,从而增加打开的选项卡的数量(选择不偏不倚)。通过单击图钉图标(工具栏中最右边的图标,以“图钉编辑器”作为工具提示文本)。
#21 楼
我已经禁用了Windows>首选项>常规中所有未使用的选项,这对性能产生了巨大的积极影响,切换选项卡时蚀仍然很慢,我不想增加内存,但是滚动时它要快得多。谢谢。#22 楼
**Tips for making Eclipse IDE Faster**
在处理小型项目时,Eclipse将运行得更快。但是,当您必须处理大型项目时,就会对它的速度感到恼火。即使RAM很大,您也会对其
速度不满意。下面的步骤将有助于Eclipse提高速度
在启动时删除某些插件的不必要激活,转到Windows –>首选项–>常规–>启动和关闭
,还要确保您不在任何视图中使用这些插件。还将帮助您获得一些表现。转到Windows –>首选项–>常规–>外观–>标签->装饰
关闭不需要的项目,并使用工作集选项将项目组从一个项目顺利移至另一组。将会在eclipse的安装位置提供。 >配置eclipse.ini。
不要在编辑器中打开很多标签。最好有大约20个标签。定期关闭未使用的选项卡。要打开资源,我们总是可以使用ctrl + shift + R和ctrl + shift + T(java资源)来代替打开很多标签页
在限制打开标签页的数量时,我的性能有了显着提高(过去我经常打开30多个标签)。您可以让eclipse自动为您处理:
窗口->首选项->编辑器->自动关闭编辑器
>>符号出现前的数量是8个打开的标签,因此我将14设置为默认值值。
打开更多标签时,最近访问最少的标签将关闭。当所有编辑器都脏或固定时。
如果未保存修改,则可以提示您保存并重复使用(选项卡将关闭,一个新的位置将被打开)。或者,您可以打开一个新的编辑器端,从而增加打开的选项卡的数量(毫不干扰的选择)。如果要确保某些选项卡不会自动关闭,可以固定它们。通过单击图钉图标(工具栏中最右侧的图标,以“图钉编辑器”作为工具提示文本)。
转到Windows->首选项->验证,然后取消选中任何
不需要或不需要。
转到Windows->首选项->常规->外观->并取消选中任何不需要或不需要的动画。
转到Windows->首选项-> Maven并选中“不自动更新依赖项”。
#23 楼
也可以尝试这样做,它将提高性能:清理索引-{workspace
路径} .metadata.plugins \ org.eclipse.jdt.core清理历史-
{workspace
路径} .metadata.plugins \ org.eclipse.core.resources.history
清理以上文件夹不会影响项目文件。 br />
#24 楼
好吧,如果您正在使用Eclipse开发GWT应用程序,则可以采用以下方法:Eclipse中的内存不足错误
还请记住将相同的VM参数添加到托管模式配置。
#25 楼
如果您使用Maven和ivy,请检查他们的控制台,以防它们在构建过程中拖延处理。我使用的是常春藤,最重要的是,我的某些JAR文件(内部)使用相同的版本进行了更改,因此必须始终进行锻炼以获取它们。如果已定义要在网络驱动器上进行的项目,则在构建/读取/写入过程类型的过程中也会遇到滞后。您不需要。
关闭不需要的对象
关闭未使用的数据库连接
#26 楼
在特殊情况下,糟糕的性能可能是由于h2或nwire数据库损坏造成的。阅读有关加快Eclipse PDT和nWire速度的五个技巧以获取更多信息。在我工作的地方,我们依赖于VM来运行Debian。我已经在VM上安装了另一个Eclipse版本来测试目的,但是如果我正在运行另一个Eclipse版本,这有时会产生冲突。有一个共享文件夹,两个Eclipse版本都共享。我不小心使Debian Eclipse安装一次在后台运行,这给了我损坏的数据库文件。
#27 楼
在Windows 8上。打开“控制面板”。查找Windows Defender。转到设置
排除Spring / Eclipse和工作空间所在的所有文件夹
评论
您的云也只排除了“ eclipse.exe”过程。
–静态BR
19 Mar 8 '19 at 6:19
#28 楼
除了为内存使用配置eclipse.ini。我已经通过“启动和关闭选项”进行了配置。我的Eclipse现在快速燃烧。评论
有一些细节值得关注:现在何时启用这些插件?首次使用还是需要手动启用,并且在运行实例的生命周期中无法在您的设置中使用它?如果是自动的,每当首次使用该插件时,有人会识别出滞后吗?
–索尔斯滕·舍宁(ThorstenSchöning)
19年1月16日在8:26
@ThorstenSchöning-这些插件默认启用。您始终可以根据自己的喜好手动启用和禁用它们。请注意,使用上述选项,您不会删除插件,而只是在启动时将其禁用,以便快速加载eclipse。
– Manjeet
19年1月17日在9:20
#29 楼
使用标准插件加速Eclipse的唯一真实方法是为其提供更多内存,并在某些情况下访问更快的存储空间/碎片整理的硬盘驱动器。除此之外,您无法在性能方面做很多事情:大多数标准插件都没有持续的运行时间开销,即使Mylyn相对来说也比较快。
升级到计算机上支持的最新JVM也可能会有所帮助。使用Eclipse classic代替正式发行版可能也很有意义。
评论
尽管不建议手动删除由p2管理的插件,但我发现常规的插件清理可以极大地提高性能和后期处理能力,尤其是当您复制并与多个开发人员共享主蚀配置时。在这种情况下,最好只存档主蚀安装,而不要依赖每个人同步更新其配置。参见stackoverflow.com/questions/221476/…
–FKorning
13年7月16日在19:13
#30 楼
试试这些。有两种方法。第一个过程
请参阅本文。
http://www.javacodegeeks.com/2014/06/the -real-way-to-make-eclipse-run-faster-on-ubuntu.html
第二步。
在终端中执行命令。
ramdisk
以获得Ubuntu的更好性能和快速响应。
Ramdisk是系统内存的一部分。默认情况下,Ubuntu使用一半的物理内存(RAM)作为ramdisk,并将其安装在
/ dev / shm
上,可以像普通磁盘空间一样使用(创建文件和文件夹,并以更好的性能对其进行操作,而不是将其存储在硬盘上)。如果ramdisk使用一半以上的RAM,则数据将被移入交换空间。如果ramdisk使用较少,则其余磁盘仍可以做RAM的工作。如果要更改上限,请按照以下步骤操作:
通过喜欢的编辑器编辑/ etc / fstab: / etc / fstab
找到该行并进行更改,使其看起来像这样(如果不存在,请添加此行,然后将512M更改为所需的行。):
tmpfs / dev / shm tmpfs默认值,大小= 512M 0 0
重新引导或重新安装
/ dev / shm
将/ tmp挂载到ramdisk
为了易于使用,您可以将目录挂载到
/dev/shm
通过以下命令:
mkdir / dev / shm / tmp
chmod 1777 / dev / shm / tmp
--bind / dev / shm / tmp / tmp
评论
在ubuntu 15.4中,如果至少有8 GB内存,这是一件好事。此操作后,我的其他程序变得更快。多谢 :)
– kodmanyagha
16年7月28日在14:31
评论
安装更多(另外4GB)的RAM。我有点认真。 Eclipse在3GB Windows 7盒子上运行良好。内存不足,不会那么热。版本控制将是我要禁用的插件的最后选择。我发现Eclipse在保持工作空间与文件系统同步方面仍然有些不可靠。我不怪您想要比当前插件更好的VC工具,但是我在这方面曾经被Eclipse咬过。
这里的答案将我的Eclipse启动时间从20秒减少到不到4秒。
Eclipse Juno对许多人来说非常慢,例如切换编辑器等。现在有许多上游性能修复程序可以改善很多情况。有关安装补丁的说明,请参见wiki.eclipse.org/Platform_UI/Juno_Performance_Investigation。
对于我来说,没有插件仍然太慢了。启动时间还算不错,但是每次必须更新文件引用或其他内容时,它花费的时间就不合理。有时也会因自动完成而滞后。