Evgeny Kotkov <evgeny.kot...@visualsvn.com> writes:

> If the svn client would be streaming data as well, it would make the server
> and the client process data simultaneously and also avoid the overhead
> associated with writing the temporary file to disk.  Perhaps, that would
> make the difference much less visible.
>
> There is a sketch of the solution available in:
>
>   https://svn.apache.org/repos/asf/subversion/branches/ra_serf-stream-commit
>
> but I wasn't able to finish the work on it.

I went ahead with implementing a slightly different solution that enables
delta streaming in ra_serf.  (Currently, only for "svn import"; commits are
a bit more complicated, but shouldn't be too hard to switch to the new
approach, as all the necessary groundwork is in place.)

The corresponding revisions are:

    https://svn.apache.org/r1803140
    https://svn.apache.org/r1803141
    https://svn.apache.org/r1803143
    https://svn.apache.org/r1803144

A couple of tests show that it's possible to get up to 2x speed improvement
when importing large binary files, although the actual improvement will
vary, depending on the configuration of the server and the client.  And,
apart from this, such imports won't be using the free space in $TMPDIR
proportional to the size of the transmitted delta.


Regards,
Evgeny Kotkov

Reply via email to