如何加快eclipse项目'刷新'

时间:2009-01-08 04:24:53

标签: performance eclipse subclipse

我有一个相当大的PHP代码库(10k文件),我在Windows机器上使用Eclipse 3.4 / PDT 2,而文件托管在Debian文件服务器上。我通过Windows上的映射驱动器进行连接。

尽管拥有1gbit以太网连接,但执行eclipse项目刷新速度非常慢。最多5分钟。在发生这种情况时,我无法工作。

这通常不会是一个问题,因为Eclipse理论上不应该经常进行完全刷新。但是我也使用subclipse插件,每次完成切换/更新时都会触发完全刷新。

我的预感是,这个过程中最慢的部分是eclipse逐个检查10k文件,以便对samba进行更改。

代码库中有大量文件,我永远不需要从eclipse访问,因此我根本不需要它来检查它们。但是我无法弄清楚如何阻止它这样做。我试过将它们标记为'派生'。这可以防止它们被包含在构建过​​程等中。但它似乎并没有加速刷新过程。 Eclipse似乎仍然会检查其状态。

我还从PDT的“构建路径”中删除了不需要的文件夹。这确实加快了“建筑工作空间”的进程,但同样也没有加快建筑之前的实际刷新速度(这是花费最多时间的事情)。

6 个答案:

答案 0 :(得分:7)

感谢大家的建议。基本上,JW走在正确的轨道上。在当地工作。

为此,我发现了一个名为FileSync的插件: http://andrei.gmxhome.de/filesync/

这会自动将更改的文件复制到网络共享。工作非常好。我现在可以在几秒钟内从Eclipse中完成更新/切换/刷新。

答案 1 :(得分:3)

您是否必须将文件存储在共享中?也许您可以设置某种自动镜像,因此您可以在本地处理这些文件,并将它们自动复制到共享中。我处于类似的情况,我不想放弃在我自己的机器上编辑文件的速度。

答案 2 :(得分:1)

鉴于它是subversioned,为什么不在本地使用这些文件,并在每次提交后使用post commit hook在dev服务器上更新到最新版本? (或者当你想要更新dev时,在提交日志中有一个特定的字符串(例如'## DEPLOY ##'),并且只有当post commit hook看到这个字符串时才运行更新。)

除了刷新加速之外,这种技术的优势在于您可以在eclipse中使用正在处理的文件,并且开发服务器仍然可以(尽管代码的旧版本)。

缺点是您必须提交将已保存的文件推送到开发服务器。

答案 3 :(得分:0)

在Windows中使用脱机文件夹功能,右键单击并选择“脱机使用”。

它可以在文件共享协议中节省大量时间和往返延迟。

答案 4 :(得分:0)

svn externals与修改标志一起用于非更改内容可能会阻止subclipse在更新时刷新这些文件。然后它可能不会。由于您必须对subversion存储库的结构进行一些更改才能使其正常工作,因此我建议您在进行实际操作之前先进行一些简单的测试。

答案 5 :(得分:0)

我通过更改"文件传输缓冲区大小"解决了这个问题。于:

Window->偏好设置 - >远程系统 - 文件 并更改"文件传输缓冲区大小" -s下载(KB)和上传(KB)值为高值,我将其设置为1000 kb,默认为40 kb