[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

SVN up Windows XP/Vista performance issue for large working copies

From: speedy <speedy_at_3d-io.com>
Date: 2007-08-12 17:22:08 CEST

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
Received on Sun Aug 12 17:20:25 2007

This is an archived mail posted to the Subversion Users mailing list.