Performance improvements for bzr-2.4 on large trees
Eli Zaretskii
eliz at gnu.org
Thu May 26 18:06:04 UTC 2011
> Date: Fri, 20 May 2011 00:24:05 +0200
> From: John Arbash Meinel <john at arbash-meinel.com>
> Cc: Bazaar Development List <bazaar at lists.canonical.com>
>
> #2, I didn't specifically improve stat/add/commit times. I'm not sure
> about add, but commit already was trying to use the update-by-delta code
> (that was the code that I cleaned up to support any delta, rather than
> only supporting commit deltas).
> So the places you'll see the most benefit are the ones I mentioned.
> merge/pull/update/uncommit.
These are, of course, important commands to make faster, but there are
a few more: "log" and "status". These are fast enough in "normal"
usage, e.g. (in the Emacs trunk):
D:\gnu\bzr\emacs\trunk>timep bzr log -l1000 >nul
real 00h00m01.296s
user 00h00m01.000s
sys 00h00m00.265s
D:\gnu\bzr\emacs\trunk>timep bzr st -r100000..101000 >nul
real 00h00m02.171s
user 00h00m01.812s
sys 00h00m00.281s
But try using them on a revision that is not on mainline, and you will
see a significant performance degradation:
D:\gnu\bzr\emacs\trunk>timep bzr st -c99634.12.18 >nul
real 00h00m10.687s
user 00h00m10.234s
sys 00h00m00.406s
D:\gnu\bzr\emacs\trunk>timep bzr log --include-merges -c104363 >nul
real 00h00m09.562s
user 00h00m09.250s
sys 00h00m00.296s
D:\gnu\bzr\emacs\trunk>timep bzr log -l2 lisp/progmodes/python.el >nul
real 00h00m16.828s
user 00h00m16.234s
sys 00h00m00.484s
Are there any plans to speed up those as well?
Another command that I wish was faster is "annotate":
D:\gnu\bzr\emacs\trunk>timep bzr annotate lisp/progmodes/python.el >nul
real 00h00m26.343s
user 00h00m25.296s
sys 00h00m00.593s
D:\gnu\bzr\emacs\trunk>timep bzr annotate src/xdisp.c >nul
real 00h01m23.750s
user 00h01m19.250s
sys 00h00m03.734s
TIA
More information about the bazaar
mailing list