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.