You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Blair Zajac <bl...@orcaware.com> on 2010/06/21 15:18:49 UTC

Re: svn commit: r956593 - /subversion/trunk/subversion/libsvn_delta/text_delta.c

On Jun 21, 2010, at 9:56 AM, julianfoad@apache.org wrote:

> Author: julianfoad
> Date: Mon Jun 21 13:56:30 2010
> New Revision: 956593
>
> URL: http://svn.apache.org/viewvc?rev=956593&view=rev
> Log:
> Optimize the copies performed by svn_txdelta_apply_instructions().
>
> svn_txdelta_apply_instructions() is relatively slow for long  
> instruction
> sequences copying small pieces of data.  This is particularly  
> visible in
> "format 2" FSFS repositories.
>
> Two kinds of copy are involved.  For simple copies, the system's  
> memcpy()
> is used, which is fast for long lengths; this patch bypasses it for  
> very
> short lengths.  For intentionally overlapping copies, a custom loop  
> is used,
> which was already fast for very short lengths; this patch adds a  
> code path
> that is fast for longer lengths.

Hi Julian,

Does this turn out to have a measurable performance improvement? I  
would guess svn is limited by IO speeds with fsync(), not memory copies.

Not that I don't appreciate performance improvements, running a  
backend that gets over 2 commits per second :), I'm just curious.

Regards,
Blair