Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何加速eclipse项目“刷新”_Performance_Eclipse_Subclipse - Fatal编程技术网

Performance 如何加速eclipse项目“刷新”

Performance 如何加速eclipse项目“刷新”,performance,eclipse,subclipse,Performance,Eclipse,Subclipse,我有一个相当大的PHP代码库10k文件,我在windows机器上使用Eclipse3.4/PDT2处理这些文件,而这些文件托管在Debian文件服务器上。我通过windows上的映射驱动器进行连接 尽管有1gbit以太网连接,但执行eclipse项目刷新的速度相当慢。最多5分钟。发生这种情况时,我被阻止工作 这通常不会是一个问题,因为Eclipse理论上不应该经常进行完全刷新。不过,我也使用subclipse插件,它在每次完成切换/更新时都会触发完全刷新 我的直觉是,这个过程中最慢的部分是ecl

我有一个相当大的PHP代码库10k文件,我在windows机器上使用Eclipse3.4/PDT2处理这些文件,而这些文件托管在Debian文件服务器上。我通过windows上的映射驱动器进行连接

尽管有1gbit以太网连接,但执行eclipse项目刷新的速度相当慢。最多5分钟。发生这种情况时,我被阻止工作

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

我的直觉是,这个过程中最慢的部分是eclipse通过samba逐个检查10k文件的变化

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


我还从PDT的“构建路径”中删除了不需要的文件夹。这确实加快了“构建工作区”的过程,但同样不会加快构建之前的实际刷新速度,这也是花费时间最多的部分。

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

既然它已被颠覆,为什么不在本地保存文件,并在每次提交后使用提交后钩子在开发服务器上更新到最新版本?或者,当您想要更新dev时,在提交日志中有一个特定的字符串,例如“DEPLOY”,并且只有在提交后钩子看到这个字符串时才运行更新

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


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

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


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

对未更改的内容使用with revision标志可能会阻止subclipse在更新时刷新这些文件。那也可能不是。由于您必须对subversion存储库的结构进行一些更改才能使其正常工作,因此我建议您在真正执行之前进行一些简单的测试。

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

为此,我发现了一个名为FileSync的插件:


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

我通过在以下位置更改文件传输缓冲区大小来解决此问题:

窗口->首选项->远程系统文件
将文件传输缓冲区大小-s Download KB和Upload KB值更改为high value,我将其设置为1000kb,默认情况下为40kb

我无法在本地工作,因为dev服务器上的apache/php设置需要尽可能接近生产环境。镜像是一种选择。我以前对此进行过研究,但从未找到一种即时可用的方法。镜像需要足够快,以便将更改立即传播到文件服务器。我试过了,但我不明白。Rsync太断断续续了。我甚至尝试过使用ANT来监视更改增量,但无法完全让它工作。我也尝试过WinSCP,它有一个实时镜像功能,实际上可以用于小文件夹,但它在这个项目的规模下会崩溃。而且似乎需要很多资源来监控。这会起作用,但这不是我的第一选择。subclipse的提交速度可能较慢,因为它首先从svn获取状态,然后要求您确认。我通常不想提交一个我仍在处理的文件。这仍然只是定期同步,不是吗?不。它会使所有内容保持最新,除非你的网络中断。嗯。不幸的是,这似乎让事情变得更糟。Eclipse在尝试刷新工作区时出错。。。它认为总有更多的文件需要刷新刷新进程的计数下降了一点,然后又跳回到500左右,但始终没有完成。我已经从subclipse邮件列表中发现,切换时,完整的项目刷新是不可避免的。基本上subclipse必须告诉eclipse刷新整个项目,以便重新扫描隐藏的.svn文件夹。谢谢
对于指针。当我不想在本地运行web服务器时,这可能会派上用场。Filesynch为我工作了一段时间,但当我升级eclipse时,它停止了工作,我发现使用Aptana内置的同步设置ftp似乎对我有效,但不是一个很好的解决方案,只是一个解决办法。最后我改成了phpstorm,它也运行得很快!这里也有同样的问题:wins7+samba+virtualbox+eclipse==非常慢。在samba之前,我曾尝试过WEBdrive,但结果更糟。正在尝试离线技巧@denis建议。。wins在samba上也有问题吗?@container如果您使用virtualbox或其他虚拟机,我建议您使用虚拟机的装载文件夹功能。为了减少SMB、网络堆栈的开销。注意:更改这些设置后,需要重新启动,然后将其用于项目