You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Norbert Unterberg <ne...@gmx.net> on 2005/02/02 08:23:15 UTC

Bug? use-commit-times=yes causes big performance degradation

Maybe my first mail got lost in hyperspace...

When turning on the use-commit-times setting, working copies which are 
checked out after that become very slow on every status fetch. 
Subversion does a full file compare for all files in the working copy.
What happens is that the files get the checkin time stamp, but the time 
stamps stored in the .svn/entries files are the checkout times.
This only happens on checkout, updates seems to work correctly.
Using svn, Version 1.1.3 (r12730) on Windows XP SP2

Steps to reproduce:

1. Set the following registry key:
-----
REGEDIT4

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"use-commit-times"="yes"
-----
I assume that enabling the setting in the config file has the same 
result, but this is what I did..

2. Checkout a small working copy:
    svn co 
http://svn.collab.net/repos/tortoisesvn/trunk/src/TortoiseBlame blame

3. Run Sysinternal's FileMon Tool

4. svn st blame

As can be seen in FileMon, Subversion reads all files in the working 
copy and compares them with the files in the text-base folder.

5. del /q blame\*.*
6. svn up blame

Now watch the output of FileMon again when executing the status command:

7. svn st blame

You can see that svn no longer reads all the file contents but only 
reads the file status. Obviously the timestamps in the entries file have 
been repaired.

Norbert


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Bug? use-commit-times=yes causes big performance degradation

Posted by Philip Martin <ph...@codematters.co.uk>.
Thomas Börkel <tb...@ap-ag.com> writes:

> HI!
>
> "Philip Martin" <ph...@codematters.co.uk> wrote in message
> news:874qguyeof.fsf@codematters.co.uk...
>> Philip Martin <ph...@codematters.co.uk> writes:
>>
>> >> What happens is that the files get the checkin time stamp, but the
>> >> time stamps stored in the .svn/entries files are the checkout times.
>> >
>> > It's a bug in update_editor.c:install_file.
>>
>> Fixed by r12906.
>
> Will this fix please be in 1.1.4? We saw a huge performance boost (up to 3
> times for certain operations) after repairing our working copys.

The problem has existed since Subversion 1.0 but I suppose it might
qualify for 1.1.4 as a bug-fix.  Nobody has reported the problem
before: perhaps people aren't using use-commit-times, or perhaps they
don't notice the speed problem, or perhaps they don't know that it
should be better.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Bug? use-commit-times=yes causes big performance degradation

Posted by Thomas Börkel <tb...@ap-ag.com>.
HI!

"Philip Martin" <ph...@codematters.co.uk> wrote in message
news:874qguyeof.fsf@codematters.co.uk...
> Philip Martin <ph...@codematters.co.uk> writes:
>
> >> What happens is that the files get the checkin time stamp, but the
> >> time stamps stored in the .svn/entries files are the checkout times.
> >
> > It's a bug in update_editor.c:install_file.
>
> Fixed by r12906.

Will this fix please be in 1.1.4? We saw a huge performance boost (up to 3
times for certain operations) after repairing our working copys.

Thanks!

Thomas




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Bug? use-commit-times=yes causes big performance degradation

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

>> What happens is that the files get the checkin time stamp, but the
>> time stamps stored in the .svn/entries files are the checkout times.
>
> It's a bug in update_editor.c:install_file.

Fixed by r12906.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Bug? use-commit-times=yes causes big performance degradation

Posted by Philip Martin <ph...@codematters.co.uk>.
Norbert Unterberg <ne...@gmx.net> writes:

> Maybe my first mail got lost in hyperspace...

I didn't see it.

> When turning on the use-commit-times setting, working copies which are
> checked out after that become very slow on every status
> fetch. Subversion does a full file compare for all files in the
> working copy.
> What happens is that the files get the checkin time stamp, but the
> time stamps stored in the .svn/entries files are the checkout times.

It's a bug in update_editor.c:install_file.

> This only happens on checkout, updates seems to work correctly.