Performance regression with pack format in missing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
John A Meinel | ||
bzr (Debian) |
Fix Released
|
Unknown
|
Bug Description
(This comes from http://
-8<-
Trying to play around with the new pack storage format... I came
across this 30% regression in performance for "bzr missing":
guest@mirexpres
time bzr missing --line ../trunk ; cd ../../ ; done
== gforge-dirstate ==
Shared repository (format: dirstate-
Location:
shared repository: .
Branches are up to date.
real 0m4.727s
user 0m4.596s
sys 0m0.056s
== gforge-pack ==
Shared repository (format: pack-0.92-subtree)
Location:
shared repository: .
Branches are up to date.
real 0m6.370s
user 0m6.236s
sys 0m0.088s
== gforge-rich-root ==
Shared repository (format: rich-root)
Location:
shared repository: .
Branches are up to date.
real 0m4.725s
user 0m4.596s
sys 0m0.056s
guest@mirexpres
All three repositories have been recently created (no trees), and the
sid and trunk branches cloned from my main (dirstate-
repo therefore have the same contents (about 5000 revisions, 5400
files, 52 MB). Of course, running "bzr pull" instead of "bzr missing"
gives similar results here, since the branches are up-to-date.
->8-
affects /products/bzr
Related branches
Changed in bzr: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in bzr: | |
status: | Unknown → Confirmed |
Changed in bzr (Debian): | |
status: | Confirmed → Fix Released |
I'm working on updating missing to use the new Graph.find_* apis which avoid traversing the whole graph.