Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Subversive » Slow update from SVN
Slow update from SVN [message #41968] Wed, 18 February 2009 06:20 Go to next message
Noam Missing name is currently offline Noam Missing name
Messages: 2
Registered: July 2009
Junior Member
Our project recently switched from CVS to SVN, using subversive 0.7.3 and
eclipse 3.4.1. Project is large - ~20000 files. Still, command line update
from SVN takes 2-3 minutes while updating from eclipse takes 15 minutes
(even if the change is in 1 file). Running "kill -3" on eclipse shows that
it refreshes all resources after update (not sure, but looks like it...).
Is there a way to prevent this refresh / make it more quick? Even after
disabling "Compte deep outgoing state" - still no change.

Any help with this is greatly appreciated.
Re: Slow update from SVN [message #42202 is a reply to message #41968] Thu, 26 February 2009 05:45 Go to previous messageGo to next message
Igor Burilo is currently offline Igor Burilo
Messages: 435
Registered: July 2009
Senior Member
Hello Noam,

During update operation Subversive refreshes resources in order to reflect
changes from file system to workspace's resource tree and this is a
long-running operation. There's no way to prevent this action, but this
action provides a progress monitor and you can pass it to background. As a
workaround you can do synchronize and update only necessary files, but note
that you may have problems during future commits/updates because of folders'
revisions incompatibilities.

> Our project recently switched from CVS to SVN, using subversive 0.7.3 and
> eclipse 3.4.1. Project is large - ~20000 files. Still, command line update
> from SVN takes 2-3 minutes while updating from eclipse takes 15 minutes
> (even if the change is in 1 file). Running "kill -3" on eclipse shows that
> it refreshes all resources after update (not sure, but looks like it...).
> Is there a way to prevent this refresh / make it more quick? Even after
> disabling "Compte deep outgoing state" - still no change.
>
> Any help with this is greatly appreciated.
>
>
Re: Slow update from SVN [message #42333 is a reply to message #42202] Thu, 26 February 2009 08:17 Go to previous messageGo to next message
sNop is currently offline sNop
Messages: 281
Registered: July 2009
Senior Member
Igor Burilo napsal(a):
> Hello Noam,
>
> During update operation Subversive refreshes resources in order to reflect
> changes from file system to workspace's resource tree and this is a
> long-running operation. There's no way to prevent this action, but this
> action provides a progress monitor and you can pass it to background. As a
> workaround you can do synchronize and update only necessary files, but note
> that you may have problems during future commits/updates because of folders'
> revisions incompatibilities.
>

Hi Igor,

and support Subversive eclipse's Spell Checking ?
Re: Slow update from SVN [message #42428 is a reply to message #42333] Thu, 26 February 2009 10:07 Go to previous messageGo to next message
sNop is currently offline sNop
Messages: 281
Registered: July 2009
Senior Member
> Hi Igor,
>
> and support Subversive eclipse's Spell Checking ?

sry i have posted this in bad thread
Re: Slow update from SVN [message #42458 is a reply to message #42202] Thu, 26 February 2009 10:26 Go to previous messageGo to next message
Eclipse User
Originally posted by: igor.ifedorenko.com

Igor,

There are couple of places where Subversive implementation is suboptimal.

I believe slow refresh after update is caused by inefficient
implementation of FileUtility#getPathNodes. It uses ArrayList#contains
method which is slow for large collections. Simply switching to HashSet
makes update much much faster (I am running patched version for several
months now).

The other problem I found is reported in bugzilla # 259287. This causes
problems with refresh from local filesystem after out-of-eclipse
changes. I did not have time to look if there is an easy fix, unfortunately.

--
Regards,
Igor

Igor Burilo wrote:
> Hello Noam,
>
> During update operation Subversive refreshes resources in order to reflect
> changes from file system to workspace's resource tree and this is a
> long-running operation. There's no way to prevent this action, but this
> action provides a progress monitor and you can pass it to background. As a
> workaround you can do synchronize and update only necessary files, but note
> that you may have problems during future commits/updates because of folders'
> revisions incompatibilities.
>
>> Our project recently switched from CVS to SVN, using subversive 0.7.3 and
>> eclipse 3.4.1. Project is large - ~20000 files. Still, command line update
>> from SVN takes 2-3 minutes while updating from eclipse takes 15 minutes
>> (even if the change is in 1 file). Running "kill -3" on eclipse shows that
>> it refreshes all resources after update (not sure, but looks like it...).
>> Is there a way to prevent this refresh / make it more quick? Even after
>> disabling "Compte deep outgoing state" - still no change.
>>
>> Any help with this is greatly appreciated.
>>
Re: Slow update from SVN [message #42489 is a reply to message #42458] Fri, 27 February 2009 03:50 Go to previous messageGo to next message
Igor Burilo is currently offline Igor Burilo
Messages: 435
Registered: July 2009
Senior Member
Hello Igor,

I'll check it. I added your comments to bug #259287. Thanks for your help.

> Igor,
>
> There are couple of places where Subversive implementation is suboptimal.
>
> I believe slow refresh after update is caused by inefficient
> implementation of FileUtility#getPathNodes. It uses ArrayList#contains
> method which is slow for large collections. Simply switching to HashSet
> makes update much much faster (I am running patched version for several
> months now).
>
> The other problem I found is reported in bugzilla # 259287. This causes
> problems with refresh from local filesystem after out-of-eclipse changes.
> I did not have time to look if there is an easy fix, unfortunately.
>
> --
> Regards,
> Igor
>
> Igor Burilo wrote:
>> Hello Noam,
>>
>> During update operation Subversive refreshes resources in order to
>> reflect changes from file system to workspace's resource tree and this is
>> a long-running operation. There's no way to prevent this action, but this
>> action provides a progress monitor and you can pass it to background. As
>> a workaround you can do synchronize and update only necessary files, but
>> note that you may have problems during future commits/updates because of
>> folders' revisions incompatibilities.
>>
>>> Our project recently switched from CVS to SVN, using subversive 0.7.3
>>> and eclipse 3.4.1. Project is large - ~20000 files. Still, command line
>>> update from SVN takes 2-3 minutes while updating from eclipse takes 15
>>> minutes (even if the change is in 1 file). Running "kill -3" on eclipse
>>> shows that it refreshes all resources after update (not sure, but looks
>>> like it...). Is there a way to prevent this refresh / make it more
>>> quick? Even after disabling "Compte deep outgoing state" - still no
>>> change.
>>>
>>> Any help with this is greatly appreciated.
>>>
Re: Slow update from SVN [message #42686 is a reply to message #42489] Fri, 27 February 2009 09:50 Go to previous message
Eclipse User
Originally posted by: igor.ifedorenko.com

Sorry, looks like I was not clear enough. There are at least two
separate performance problems.

I do not have a solution for problem described in #259287
(SVNRemoteStorage#refreshLocalResourceImpl).

I have possible solution for another problem in
FileUtility#getPathNodes. I've opened new #266492 to track and attached
proposed fix to the bug.

--
Regards,
Igor

Igor Burilo wrote:
> Hello Igor,
>
> I'll check it. I added your comments to bug #259287. Thanks for your help.
>
>> Igor,
>>
>> There are couple of places where Subversive implementation is suboptimal.
>>
>> I believe slow refresh after update is caused by inefficient
>> implementation of FileUtility#getPathNodes. It uses ArrayList#contains
>> method which is slow for large collections. Simply switching to HashSet
>> makes update much much faster (I am running patched version for several
>> months now).
>>
>> The other problem I found is reported in bugzilla # 259287. This causes
>> problems with refresh from local filesystem after out-of-eclipse changes.
>> I did not have time to look if there is an easy fix, unfortunately.
>>
>> --
>> Regards,
>> Igor
>>
>> Igor Burilo wrote:
>>> Hello Noam,
>>>
>>> During update operation Subversive refreshes resources in order to
>>> reflect changes from file system to workspace's resource tree and this is
>>> a long-running operation. There's no way to prevent this action, but this
>>> action provides a progress monitor and you can pass it to background. As
>>> a workaround you can do synchronize and update only necessary files, but
>>> note that you may have problems during future commits/updates because of
>>> folders' revisions incompatibilities.
>>>
>>>> Our project recently switched from CVS to SVN, using subversive 0.7.3
>>>> and eclipse 3.4.1. Project is large - ~20000 files. Still, command line
>>>> update from SVN takes 2-3 minutes while updating from eclipse takes 15
>>>> minutes (even if the change is in 1 file). Running "kill -3" on eclipse
>>>> shows that it refreshes all resources after update (not sure, but looks
>>>> like it...). Is there a way to prevent this refresh / make it more
>>>> quick? Even after disabling "Compte deep outgoing state" - still no
>>>> change.
>>>>
>>>> Any help with this is greatly appreciated.
>>>>
>
>
Previous Topic:Eclipse bug 264772: Synchronization empties outgoing changes if SVN Changesets model is selected
Next Topic:Feature Request: Password saving for a session or timeout
Goto Forum:
  


Current Time: Sat Jul 26 13:16:40 EDT 2014

Powered by FUDForum. Page generated in 0.02294 seconds