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

Re: faster client pre-1.0: decrease number of files&folders in .svn

From: solo turn <soloturn99_at_yahoo.com>
Date: 2003-02-08 16:23:45 CET

i tested your patch, and it changed nothing in the total runtime on
unix.

then i removed some of the chmods as i thought they are pointless.
the runtime again did not change. the statistics changed:

rm -rf wc, svn up -r 1, chmod removed/reduced (full update)
280 total
128 _rename
 50 mkdir
 43 open
 15 chmod
 14 _write
 14 unlink
  1 _poll

svn up -r 1, chmod removed/reduced (empty update)
60 100
21 35 _rename
13 21 __open
13 21 unlink
 6 10 _write
 5 8 chmod

svn_wc__entries_modify is in this case (empty update):
21 53 svn_wc__close_adm_file
12 32 svn_wc__open_adm_file
 6 15 apr_file_write_full

the next thing would have been the rename ... interesting, that even
in the case of an empty update they are there. there seems to be a
lot of things going on in tmp.

and you don't notice the bdb access at all .... it seems that
"server" (even its ra_local) side is doing nothing.

the patches i applied, additional to philips, and without philips:

Index: subversion/libsvn_wc/adm_files.c
===================================================================
--- subversion/libsvn_wc/adm_files.c (revision 4795)
+++ subversion/libsvn_wc/adm_files.c (working copy)
@@ -264,12 +264,8 @@
   path = v_extend_with_adm_name (path, extension, 0, pool, ap);
   va_end (ap);
   
- /* Remove read-only flag on destination. */
- SVN_ERR (svn_io_set_file_read_write (path, TRUE, pool));
-
   /* Rename. */
   SVN_ERR (svn_io_file_rename (tmp_path, path, pool));
- SVN_ERR (svn_io_set_file_read_only (path, FALSE, pool));
 
   return SVN_NO_ERROR;
 }
@@ -527,12 +523,8 @@
       path = v_extend_with_adm_name (path, extension, 0, pool, ap);
       va_end (ap);
       
- /* Temporarily remove read-only flag on destination. */
- SVN_ERR (svn_io_set_file_read_write (path, TRUE, pool));
-
       /* Rename. */
       SVN_ERR (svn_io_file_rename (tmp_path, path, pool));
- SVN_ERR (svn_io_set_file_read_only (path, FALSE, pool));
       
       return SVN_NO_ERROR;
     }
@@ -573,8 +565,6 @@
   path = v_extend_with_adm_name (path, NULL, 0, pool, ap);
   va_end (ap);
       
- /* Remove read-only flag on path. */
- SVN_ERR(svn_io_set_file_read_write (path, FALSE, pool));
   SVN_ERR(svn_io_remove_file (path, pool));
 
   return SVN_NO_ERROR;

Index: subversion/libsvn_wc/log.c
===================================================================
--- subversion/libsvn_wc/log.c (revision 4795)
+++ subversion/libsvn_wc/log.c (working copy)
@@ -952,11 +952,8 @@
               }
           }
 
- /* Make the tmp prop file the new pristine one. Note that
we
- have to temporarily set the file permissions for
writability. */
- SVN_ERR (svn_io_set_file_read_write (basef, TRUE, pool));
+ /* Make the tmp prop file the new pristine one. */
         SVN_ERR (svn_io_file_rename (tmpf, basef, pool));
- SVN_ERR (svn_io_set_file_read_only (basef, FALSE, pool));
       }
   }

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Feb 8 16:24:28 2003

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