[MERGE] faster log

Ian Clatworthy ian.clatworthy at internode.on.net
Fri Jan 16 15:45:00 GMT 2009


The attached patch improves the performance of log,
particularly when --short (or --line) are used together
with filtering arguments. Some --long use cases are
also quicker now, e.g. when logging a tip that has no
merges. The primary focus though was to change the
internals of log so that it generates output incrementally
more often. Previously this only occurred in a single
scenario: --short (or --line) with no other arguments.

Benchmarking results are attached for bzr.dev r3943 (with
log_format=short set) vs the patch. The branch used is
emacs-merges (http://bzr.notengoamigos.org/) which has
around 100K revisions total, 93K on the mainline. The
branch format is 1.9. In summary, one use case is slower
(explainably so) while the others vary from no change
to dramatically better.

Thanks to Vincent and John for their input into this.
In particular, the match-files-using-deltas stuff was
lifted and tweaked from Vincent's --deep patch.

Ian C.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log-refactor-2.patch
Type: text/x-diff
Size: 40222 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090117/aadc3ff7/attachment-0001.bin 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: log-emacs-merges-results.txt
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20090117/aadc3ff7/attachment-0001.txt 


More information about the bazaar mailing list