You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by speedy <sp...@3d-io.com> on 2007/08/12 15:22:08 UTC
SVN up Windows XP/Vista performance issue for large working copies
Hello SVN crew,
possibly related to:
http://svn.haxx.se/users/archive-2007-02/0291.shtml
on the same, already updated, cache warm, working copy:
linux, ext3 (localhost server 1.4.4/client 1.4.4)
0.8 - 1.1 sec real time, 0.3sec cpu sys/user time
windows XP, NTFS, atime update disabled (localhost server 1.4.3/client 1.4.3)
20 sec real time
The reason for such a big difference in execution time seem
to be the creation and deletion of lock files - current
svn lock logic is to create lock files for all the folders
(possibly hundreds or thousands of them) and then delete them
all in one go at the end of the update procedure. That
triggers a disk writeout storm which blocks svn process
for tens of seconds inside the windows XP kernel, and in which
all the lock file meta-data actually gets written to HDD.
I have tried to work-around it by patching the svn client
apr file create/open routine with
attributes |= FILE_ATTRIBUTE_TEMPORARY;
which is obviously meant for such usage cases, as per:
http://msdn2.microsoft.com/en-us/library/aa363858.aspx
FILE_ATTRIBUTE_TEMPORARY
"The file is being used for temporary storage. File systems avoid
writing data back to mass storage if sufficient cache memory is
available, because an application deletes a temporary file after
a handle is closed. In that case, the system can entirely avoid
writing the data. Otherwise, the data is written after the handle
is closed."
but unfortunatly that didn't made any difference. :(
The next step for solving this problem would be to make a simple
simulator of SVN lock file access pattern and try to find the windows
kernel friendly one. (on the other hand I'll be also trying out SVK,
which supposedly has a better/faster working copy implementation..)
Any thoughts, help in writing the simulator / tweaking the svn.exe would
be helpful and appreciated! :)
--
Best regards,
speedy mailto:speedy@3d-io.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org