On 02.01.2011 16:38, Johan Corveleyn wrote:
On Sun, Jan 2, 2011 at 9:20 AM, Johan Corveleyn<jcor...@gmail.com> wrote:
On Sat, Jan 1, 2011 at 9:33 PM,<stef...@apache.org> wrote:
Author: stefan2
Date: Sat Jan 1 20:33:22 2011
New Revision: 1054286
URL: http://svn.apache.org/viewvc?rev=1054286&view=rev
Log:
XDelta calculation is major part of svn_txdelta_send_txstream.
Therefore, speed up string matching code and the relatively
expensive hash-code (adler32) calculations.
* subversion/libsvn_delta/xdelta.c
(init_adler32): init adler checksum with 0 instead of 1;
use svn_adler32 for performance
(adler32_out): "-1" can / must be ommitted now that we
start at 0 instead of 1 for s1.
(adler32_replace): special, faster implementation replacing
a adler32_out(), adler32_in() sequence
(match_length): new utility function
(find_match): speed up the main loop by calling match_length()
(compute_delta): optimize adler32 calculations
Modified:
subversion/trunk/subversion/libsvn_delta/xdelta.c
Hi Stefan,
This makes my (Windows 32-bit VCE 2008) build fail:
svn_delta-1.lib(xdelta.obj) : error LNK2019: unresolved external
symbol _svn__adler32 referenced in function _init_adler32
..\..\..\Release\subversion\libsvn_delta\libsvn_delta-1.dll : fatal
error LNK1120: 1 unresolved externals
It was actually r1054277 that broke it. The following patch fixes it:
[[[
Index: build.conf
===================================================================
--- build.conf (revision 1054417)
+++ build.conf (working copy)
@@ -329,7 +329,7 @@ msvc-export =
private\svn_log.h private\svn_mergeinfo_private.h
private\svn_opt_private.h private\svn_skel.h private\svn_sqlite.h
private\svn_utf_private.h private\svn_eol_private.h
- private\svn_token.h
+ private\svn_token.h private\svn_adler32.h
# Working copy management lib
[libsvn_wc]
]]]
Thanks Johan! Committed in r1054421.
-- Stefan^2.