我有一个相当大的PHP代码库(10k文件),我在Windows机器上使用Eclipse 3.4 / PDT 2,而文件托管在Debian文件服务器上。我通过Windows上的映射驱动器进行连接。
尽管拥有1gbit以太网连接,但执行eclipse项目刷新速度非常慢。最多5分钟。在发生这种情况时,我无法工作。
这通常不会是一个问题,因为Eclipse理论上不应该经常进行完全刷新。但是我也使用subclipse插件,每次完成切换/更新时都会触发完全刷新。
我的预感是,这个过程中最慢的部分是eclipse逐个检查10k文件,以便对samba进行更改。
代码库中有大量文件,我永远不需要从eclipse访问,因此我根本不需要它来检查它们。但是我无法弄清楚如何阻止它这样做。我试过将它们标记为'派生'。这可以防止它们被包含在构建过程等中。但它似乎并没有加速刷新过程。 Eclipse似乎仍然会检查其状态。
我还从PDT的“构建路径”中删除了不需要的文件夹。这确实加快了“建筑工作空间”的进程,但同样也没有加快建筑之前的实际刷新速度(这是花费最多时间的事情)。
答案 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