From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: Further VC tuning is blocked Date: Fri, 04 Jan 2008 19:59:05 -0700 Message-ID: References: <20080104131749.A4D7E830697@snark.thyrsus.com> Reply-To: Tom Tromey NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1199503774 4808 80.91.229.12 (5 Jan 2008 03:29:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Jan 2008 03:29:34 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Eric S. Raymond" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 05 04:29:55 2008 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 1JAzjO-0000DQ-KC for ged-emacs-devel@m.gmane.org; Sat, 05 Jan 2008 04:29:54 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAzj1-0007iZ-Vs for ged-emacs-devel@m.gmane.org; Fri, 04 Jan 2008 22:29:32 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JAzix-0007iK-SD for emacs-devel@gnu.org; Fri, 04 Jan 2008 22:29:27 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JAziv-0007hV-8m for emacs-devel@gnu.org; Fri, 04 Jan 2008 22:29:27 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAziv-0007hS-4D for emacs-devel@gnu.org; Fri, 04 Jan 2008 22:29:25 -0500 Original-Received: from mx1.redhat.com ([66.187.233.31]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JAziu-0003gr-Px for emacs-devel@gnu.org; Fri, 04 Jan 2008 22:29:24 -0500 Original-Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m053TNBQ028121; Fri, 4 Jan 2008 22:29:23 -0500 Original-Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m053TNLR020347; Fri, 4 Jan 2008 22:29:23 -0500 Original-Received: from opsy.redhat.com (ton.yyz.redhat.com [10.15.16.15]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m053TNIo002094; Fri, 4 Jan 2008 22:29:23 -0500 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id 1620D378226; Fri, 4 Jan 2008 19:59:05 -0700 (MST) X-Attribution: Tom In-Reply-To: <20080104131749.A4D7E830697@snark.thyrsus.com> (Eric S. Raymond's message of "Fri\, 4 Jan 2008 08\:17\:49 -0500 \(EST\)") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux) X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-detected-kernel: by monty-python.gnu.org: 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:86102 Archived-At: >>>>> "Eric" == Eric S Raymond writes: Eric> I think I've reached the limit of what I can do to speed-tune VC, Eric> pending one of the following developments: I found one more thing I don't understand here. I tried this: (defadvice vc-svn-command (before lala-reg (buffer okstatus file-or-list &rest flags) activate) (message "running svn %s %s" file-or-list (apply 'concat flags))) Then I ran C-x v d on gcc. I see 16 separate execs of 'svn': running svn /home/tromey/gnu/Trunk/trunk/gcc/ status-v running svn nil status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/cscope.in.out status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/cscope.out status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/cscope.po.out status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/REVISION status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/TAGS status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/TAGS.sub status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/cp/TAGS status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/cp/TAGS.sub status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/fortran/TAGS status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/fortran/TAGS.sub status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/java/TAGS status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/java/TAGS.sub status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/objc/TAGS status-v running svn /home/tromey/gnu/Trunk/trunk/gcc/objc/TAGS.sub status-v Many of these files are actually ignored. Maybe running 'svn status -v --no-ignore' would be better. I hacked this in to vc-svn-dir-state, but to my surprise it didn't help. Second, note the second line of the trace. We are running 'svn status -v' twice on the whole tree, once with the directory name as an argument, and once with default-directory set (and no explicit argument). (FWIW the --no-ignore hack affected this second line in a subsequent test, but nothing else. So the other calls are not from vc-svn-dir-state -- you probably know this.) Anyway, I think there's still a bit of room for improvement here. I think it should be possible to invoke svn a single time for this particular scenario. Tom