Merge lp:~jameinel/bzr/2.4-pull-iter-changes-780677 into lp:bzr
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Andrew Bennetts | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 5849 | ||||
Proposed branch: | lp:~jameinel/bzr/2.4-pull-iter-changes-780677 | ||||
Merge into: | lp:bzr | ||||
Diff against target: |
56 lines (+19/-5) 3 files modified
bzrlib/workingtree.py (+5/-0) doc/en/release-notes/bzr-2.4.txt (+8/-0) doc/en/whats-new/whats-new-in-2.4.txt (+6/-5) |
||||
To merge this branch: | bzr merge lp:~jameinel/bzr/2.4-pull-iter-changes-780677 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrew Bennetts | Approve | ||
Review via email: mp+60568@code.launchpad.net |
Commit message
Update WT.pull to use fast Repository iter_changes when .fast_deltas is true. (bug #780677)
Description of the change
This is another small patch to improve the performance of "bzr pull". It is one of the cases where using DirStateRevisio
This patch by itself drops "bzr pull" from about 29s down to about 17s on my machine. However, when coupled with https:/
For bzr.dev on my machine, the change is less pronounced, but it is still ~1.5s down to 1.2s.
Next on the block is probably 'bzr update'. Though WT._update_tree is pretty ugly because of all the various merges that can occur.
Nice!
I wonder if we should push this down into WorkingTree. basis_tree( ) rather than just special-casing in pull()? Or perhaps this could happen in an InterTree optimiser? Anyway, that's something we can worry about later while we enjoy this improvement landing on trunk :)
Thanks for updating the table in whats-new too.