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.

Reply via email to