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

Re: Expected speed of commit over HTTP?

From: Philip Martin <philip_at_codematters.co.uk>
Date: Thu, 06 Jul 2017 15:10:50 +0100

Paul Hammant <paul_at_hammant.org> writes:

> I'm making each revision with..
>
> dd if=/dev/zero bs=1M count=500 2>/dev/null >
> path/to/file/under/versionControl.dat
>
> .. which is random enough to completely thwart delta analysis of the file.
> That's slow enough in itself, but I'm only checking the time of the commit.

The standard client always sends deltas even for cases like yours where
the delta is not really an advantage. On receiving the delta the server
has to first reconstruct the full text and then construct a second delta
to store in the repository.

You can make commits a bit faster by using svnmucc without a working
copy, the svnmucc client always sends a delta against an empty file
which is faster to calculate than the standard client delta against the
previous file contents:

  svnmucc put some/file URL

You can make commits even faster by enabling SVNAutoversioning on the
server and using curl as your client as then the client doesn't
calculate delta at all:

  curl -XPUT @some/file URL

The curl commit will still involve calculating a delta on the server.

On my machine:

              dd: 3.3 sec
      svn commit: 37 sec
  svnmucc commit: 26 sec
     curl commit: 9.5 sec

-- 
Philip
Received on 2017-07-06 16:11:12 CEST

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