Johan (and other interested parties), I've been following some of the commits to the diff-optimizations-branch with interest. While I've not reviewed them for technical merit, it appears that others have, and that there is good work going on in the branch. I'm wondering what the potential for merging back to trunk is. This is the TODO section from the BRANCH-README:
TODO: * eliminate identical prefix [DONE] * eliminate identical suffix [DONE] * make diff3 and diff4 use datasources_open [DONE] (this may eliminate the need for datasource_open, and the flag datasource_opened in token.c#svn_diff__get_tokens) * implement (part of) increment_pointers and decrement_pointers with a macro [DONE] (offers another 10% speedup) * integrate (some of the) low-level optimizations for prefix/suffix scanning, proposed by stefan2 [2] [] * revv svn_diff.h#svn_diff_fns_t [] It looks like, for the most part, any destabilizing functionality is completed, and what remains are simply optimizations. This optimization work can probably be performed on trunk, and if so, we should merge the branch back and do the cleanup work there. The only bit on the current list of stuff is revving svn_diff_fns_t. Can that work be parallelized? I'm not trying to rush the work, nor do I think it is essential for 1.7, but it feels like a pretty good performance increase, and one that we shouldn't have any problem shipping. (If there are currently API uncertainties, than it would be good to wait until 1.7.x branches, though.) Anyway, I just really like the concept / implementation of the branch, and I'm excited to get it into the hands of users. Thoughts? -Hyrum