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