9

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

尽管有 1gbit 以太网连接,但进行 Eclipse 项目刷新还是很慢。最多 5 分钟。发生这种情况时,我被阻止工作。

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

我的预感是,这个过程中最慢的部分是 eclipse 一个一个地检查 10k 个文件,以了解对 samba 的更改。

代码库中有大量文件我永远不需要从 Eclipse 访问,所以我根本不需要它来检查它们。但是我不知道如何阻止它这样做。我尝试将它们标记为“派生”。这可以防止它们被包含在构建过​​程等中。但它似乎根本没有加速刷新过程。Eclipse 似乎仍在检查其更改的状态。

我还从 PDT 的“构建路径”中删除了不需要的文件夹。这确实加快了“构建工作空间”的过程,但它并没有加速构建之前的实际刷新(这是最耗时的)。

4

6 回答 6

8

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

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

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

于 2009-01-12T05:25:15.843 回答
3

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

于 2009-01-08T04:29:08.600 回答
1

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

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

缺点是您必须进行提交才能将保存的文件推送到开发服务器上。

于 2009-01-08T05:56:01.670 回答
1

我通过在以下位置更改“文件传输缓冲区大小”解决了这个问题:

Window->Preferences->Remote Systems-Files 并将“File transfer buffer size”-s Download (KB) 和 Upload (KB) 值改为高值,我设置为 1000 kb,默认为 40 kb

于 2015-02-19T16:19:57.627 回答
0

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

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

于 2009-01-08T06:04:35.570 回答
0

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

于 2009-01-08T06:35:12.763 回答