On Jun 21, 2010, at 9:56 AM, julianf...@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