You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by jc...@apache.org on 2010/12/22 09:49:58 UTC
svn propchange: r1051789 - svn:log
Author: jcorvel
Revision: 1051789
Modified property: svn:log
Modified: svn:log at Wed Dec 22 08:49:58 2010
------------------------------------------------------------------------------
--- svn:log (original)
+++ svn:log Wed Dec 22 08:49:58 2010
@@ -1,9 +1,13 @@
On the diff-optimizations-bytes branch:
-Make diff3 (three-way diff) work with prefix/suffix scanning.
+As a performance optimization, in diff_file.c, avoid function calls for every
+scanned byte during prefix/suffix scanning, by using macros for the basic
+incrementing/decrementing of pointers.
-* subversion/libsvn_diff/diff3.c
- (svn_diff_diff3): Call datasources_open to open the three datasources
- together, and let it scan for identical prefix and suffix. Use the number
- of prefix_lines to adjust the starting offsets of the existing algorithm,
- and to insert a diff chunk of type "common" for the prefix.
+* subversion/libsvn_diff/diff_file.c
+ (increment_pointers, decrement_pointers): Replace these functions with ...
+ (INCREMENT_POINTERS, DECREMENT_POINTERS): ... New macros, implementing the
+ cricital section of incrementing/decrementing pointers, while delegating
+ the more complex, rarely used incrementing/decrementing of chunks to ...
+ (increment_chunk, decrement_chunk): ... New functions.
+ (find_identical_prefix, find_identical_suffix): Adjust callers.