From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Surely 'bzr update' shouldn't be this slow? Date: Thu, 07 Jan 2010 10:06:25 -0500 Message-ID: References: <20100103174743.GB1653@muc.de> <87bphbhxxt.fsf@telefonica.net> <20100106131039.GB2447@muc.de> <4B448FF5.5060900@gnu.org> <87hbqze39u.fsf@telefonica.net> <20100107134011.GA2381@muc.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1262876810 24238 80.91.229.12 (7 Jan 2010 15:06:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 7 Jan 2010 15:06:50 +0000 (UTC) Cc: =?iso-8859-1?Q?=D3scar?= Fuentes , emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 07 16:06:42 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NStwf-0005b8-Hs for ged-emacs-devel@m.gmane.org; Thu, 07 Jan 2010 16:06:41 +0100 Original-Received: from localhost ([127.0.0.1]:41583 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NStwg-0004vh-4W for ged-emacs-devel@m.gmane.org; Thu, 07 Jan 2010 10:06:42 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NStwY-0004qb-0t for emacs-devel@gnu.org; Thu, 07 Jan 2010 10:06:34 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NStwR-0004lq-ER for emacs-devel@gnu.org; Thu, 07 Jan 2010 10:06:31 -0500 Original-Received: from [199.232.76.173] (port=40205 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NStwR-0004lj-A9 for emacs-devel@gnu.org; Thu, 07 Jan 2010 10:06:27 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:5976 helo=ironport2-out.pppoe.ca) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NStwQ-0008AL-PN for emacs-devel@gnu.org; Thu, 07 Jan 2010 10:06:26 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgEAGOHRUvO+KPG/2dsb2JhbACBRNINhDAEiik X-IronPort-AV: E=Sophos;i="4.49,235,1262581200"; d="scan'208";a="53276112" Original-Received: from 206-248-163-198.dsl.teksavvy.com (HELO pastel.home) ([206.248.163.198]) by ironport2-out.pppoe.ca with ESMTP; 07 Jan 2010 10:06:25 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id A9E427FF3; Thu, 7 Jan 2010 10:06:25 -0500 (EST) In-Reply-To: <20100107134011.GA2381@muc.de> (Alan Mackenzie's message of "Thu, 7 Jan 2010 13:40:12 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:119581 Archived-At: > I beg your pardon? My machine is a 1.2 GHz Athlon. That is NOT a slow > machine by any measure, except that even faster machines are now common. Agreed. I use a similar machine every once in a while (Thinkpad X30) and it's perfectly useable. I haven't used it extensively for Emacs hacking of late, but I have done some "bzr updates" of Emacs there and didn't find it unbearable. Note that Bzr is pretty memory hungry as well, so that might make a larger difference (I have 768MB in my smallest/oldest/slowest machine). > Why does Bazaar need to "process" this data? It's essentially doing > copying, with some accompanying administrivia. Is it doing heavy number > crunching in Python, when it really needs a C module, or something like > that? The technical reason is that the repository (whether shared or not) contains all the info for the branch you're copying, plus some more (for other branches that are, or have been stored there, or other branches which you have referred to from there (e.g. in a diff, merge, ...)). So Bzr basically does a GC along the way, only extracting the bits that are necessary, which means it unpacks and then repacks pretty much the whole thing. > I just did a 'bzr update' on my .../trunk. It took 23 minutes, > transferring nearly 200Mb to/from savannah in the process. This compares > with all our source files (.c, .h, .el) being ~64Mb. Could it be that > 'bzr update' just downloads the whole repository again? Yes. As mentioned, if the remote repository could be accessed via bzr+ssh rather than sftp, it would be a bit better. > Or has somebody else raised this issue on another thread that > I've missed? Of course. Stefan