From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: grischka Newsgroups: gmane.emacs.devel Subject: Re: Surely 'bzr update' shouldn't be this slow? Date: Fri, 08 Jan 2010 00:29:09 +0100 Message-ID: <4B466E45.7060706@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1262906977 6122 80.91.229.12 (7 Jan 2010 23:29:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 7 Jan 2010 23:29:37 +0000 (UTC) Cc: emacs-devel@gnu.org To: stephen@xemacs.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 08 00:29:30 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 1NT1nD-0003fq-3t for ged-emacs-devel@m.gmane.org; Fri, 08 Jan 2010 00:29:27 +0100 Original-Received: from localhost ([127.0.0.1]:45181 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NT1nD-0007pq-EC for ged-emacs-devel@m.gmane.org; Thu, 07 Jan 2010 18:29:27 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NT1n7-0007oM-HN for emacs-devel@gnu.org; Thu, 07 Jan 2010 18:29:21 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NT1n2-0007kg-Oy for emacs-devel@gnu.org; Thu, 07 Jan 2010 18:29:21 -0500 Original-Received: from [199.232.76.173] (port=58217 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NT1n2-0007kb-Lc for emacs-devel@gnu.org; Thu, 07 Jan 2010 18:29:16 -0500 Original-Received: from mail.gmx.net ([213.165.64.20]:48165) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1NT1n2-00072u-4D for emacs-devel@gnu.org; Thu, 07 Jan 2010 18:29:16 -0500 Original-Received: (qmail invoked by alias); 07 Jan 2010 23:29:13 -0000 Original-Received: from 1Cust106.tnt2.ber2.deu.da.uu.net (EHLO [149.225.54.106]) [149.225.54.106] by mail.gmx.net (mp035) with SMTP; 08 Jan 2010 00:29:13 +0100 X-Authenticated: #18588216 X-Provags-ID: V01U2FsdGVkX19yJtkAfL1y8rPLfckggdzQXiodNikbITjstAXotf Ra51eELuwRnzPD User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) Original-References: 87tyuxkdh5.fsf@uwakimon.sk.tsukuba.ac.jp X-Y-GMX-Trusted: 0 X-FuHaFi: 0.65 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:119628 Archived-At: > > It IS copying, conceptually > > Alan, don't be contrary. Óscar is just telling you the facts, and > AIUI *he* would not have chosen bzr if it were up to him. He's just > trying to help you and others make the best use of the official VCS. But Óscar wasn't telling any facts aside from that the issue is maybe "complex" and "non-trivial". > No, it has to do a lot more than that. Has to? Why? > What it is doing is > conceptually most like garbage collection. The actual content of a > repository is stored as a set of compressed archives of file objects, > revision objects, and patches, plus some indicies. (These archives > are called "packs.") The "processing" goes through those objects, > throws out the ones not needed for the branch you request, and > reconstructs minimal packs and indicies for them. So it's slow because it does lots of slow stuff. Fine. Obviously compression is slow, but who says it needs to de/recompress the objects just to build a new index or to build a new pack with some but not all of the objects? Also with http: You claim it's slow because it needs to download entire packs. But AFAIK http supports seeking into file offsets. Or otherwise you can store the top of the history near the beginning of the pack such that you can stop downloading as soon as you have the missing updates. Or otherwise you could have packs on the server only for commits older than a year and anything more recent as single files. It's not that there weren't alternatives. --- grischka