Slow performance for many operations on the gcc code import branches
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
High
|
Unassigned | ||
Breezy |
Triaged
|
Medium
|
Unassigned |
Bug Description
Hi there
For Linaro, we'd like to do our developments on top of the FSF gcc SVN imports (lp:gcc/4.4 and lp:gcc/4.5 branches), which are recent imports using format 2a. While grabbing these and pushing them to lp:gcc-linaro/4.4 and lp:gcc-linaro/4.5, performance was quite bad, with very slow local branching, or even "bzr status".
Would you help us setup bzr for better performance, or look into the issues slowing it down?
If you think our history / tree sizes are so big that performance wont be stellar before a while, what options do we have? Could we work from partial history from e.g. the last year only, or from tarball imports?
These are my notes on performance (some are network bound):
bzr branch lp:~vila/gcc/4.4
11mn58s
bzr checkout 4.4 co
3mn17s
bzr checkout --lightweight 4.4 colw
3mn24s
bzr revert -r tag:gcc_
7mn55s
bzr status
25s
bzr branch -r tag:gcc_
9mn47s
# (network)
bzr branch -r tag:gcc_
3h21mn37s
# from a bzr init-repo with the 4.4 revs
bzr branch lp:~vila/gcc/4.5
10mn45s
bzr revert -r tag:gcc_
7mn44s
# (network)
bzr push -r tag:gcc_
2h28mn41s
Thanks!
PS: adding "udd" tag as vila suggested
Related branches
- bzr-core: Pending requested
-
Diff: 56 lines (+11/-3)3 files modifiedNEWS (+4/-0)
bzrlib/tree.py (+1/-1)
doc/en/whats-new/whats-new-in-2.3.txt (+6/-2)
tags: | added: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
tags: |
added: performance revert removed: check-for-breezy |
tags: | removed: revert |
Quick comments:
- using different projects for gcc-linaro and gcc means pushing will push the entire history without
taking advantage of the gcc stacked-on branch (presumably lp:gcc)
- on my machine, checkout times are worse with SSD than regular HDs, the massive IO
and an old SSD being the main reasons
- branch and checkout have a '--hardlink' parameter which helps