bzr diff slow against ancestor
Bug #202928 reported by
Stefan Monnier
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Aaron Bentley |
Bug Description
Running bzr diff against the parent parent branch in Emacs's Bzr repository takes an inordinate amount of time:
bzr diff -r ancestor:../trunk/ lisp/vc-bzr.el 58.30s user 0.18s system 99% cpu 58.613 total
This is on a 2.4GHz Althlon X2 with 4GB of RAM. It's an operation I do extremely often.
To post a comment you must log in.
There are a couple of patches on the mailing list that should address this.
Basically, the current bzr --revision lookup has 2 "iterate the history to figure out the revno" calls which aren't actually needed.
The patches work around it a bit, and in my testing drops it from 14s => 0.7s.
So it isn't the common ancestor code (Graph. find_unique_ lca) it is the "revision_id => revno" (RevisionSpec) code.