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: Hideously slow VC status queries fixed Date: Mon, 31 Dec 2007 12:09:59 -0700 Message-ID: References: <20071227001113.3EDFE830B6E@snark.thyrsus.com> <20071227021940.GA17434@thyrsus.com> <20071229214956.GB24787@thyrsus.com> <20071231034100.GE7241@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 1199129976 5123 80.91.229.12 (31 Dec 2007 19:39:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 31 Dec 2007 19:39:36 +0000 (UTC) Cc: emacs-devel@gnu.org To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 31 20:39:50 2007 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 1J9QUH-0005Gt-BT for ged-emacs-devel@m.gmane.org; Mon, 31 Dec 2007 20:39:49 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9QTv-0004xq-Jl for ged-emacs-devel@m.gmane.org; Mon, 31 Dec 2007 14:39:27 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J9QTr-0004w2-SN for emacs-devel@gnu.org; Mon, 31 Dec 2007 14:39:23 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J9QTr-0004vT-1p for emacs-devel@gnu.org; Mon, 31 Dec 2007 14:39:23 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9QTq-0004vC-SB for emacs-devel@gnu.org; Mon, 31 Dec 2007 14:39:22 -0500 Original-Received: from mx1.redhat.com ([66.187.233.31]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J9QTq-0006nZ-CZ for emacs-devel@gnu.org; Mon, 31 Dec 2007 14:39:22 -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 lBVJdLP4002921; Mon, 31 Dec 2007 14:39:21 -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 lBVJdLI1019209; Mon, 31 Dec 2007 14:39:21 -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 lBVJdK2q002960; Mon, 31 Dec 2007 14:39:21 -0500 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id 58E6CC8803B; Mon, 31 Dec 2007 12:09:59 -0700 (MST) X-Attribution: Tom In-Reply-To: <20071231034100.GE7241@thyrsus.com> (Eric S. Raymond's message of "Sun\, 30 Dec 2007 22\:41\:00 -0500") 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:85753 Archived-At: >>>>> "Eric" == Eric S Raymond writes: Eric> That will do only when (a) we're in terse mode, and (b) we don't want to Eric> see unregistered files. Otherwise we need -v. Good point. I never remember non-terse mode... but then I haven't been a heavy vc-dired user, due to speed :) >> That's just an idea though. I also don't understand everything that >> is going on in the elp results, like where all those calls to >> vc-call-backend come from. Eric> I'm pretty sure I know where those are. I expect to remove the line Eric> of code that's generating them soon. Appended is a call-graph profile, thanks to Christian Ohler. This is pretty interesting. Tom Function Name Call Count Elapsed Time Average Time =================================== ========== ============ ============ vc-registered 363 1435.5771489 3.9547579862 vc-call-backend 376 4531.5646809 12.052033726 376 3089.8385159 8.2176556276 vc-stay-local-p 1 1422.384572 1422.384572 vc-file-setprop 238490 10.425457000 4.371...e-05 vc-sccs-registered 36 2.919531 0.0810980833 vc-default-registered 37 2.2229139999 0.0600787567 vc-hg-registered 36 0.7906200000 0.0219616666 vc-git-registered 36 0.784571 0.0217936388 vc-mcvs-registered 36 0.7820339999 0.0217231666 vc-mtn-registered 36 0.5590209999 0.0155283611 vc-bzr-registered 36 0.3502429999 0.0097289722 vc-arch-registered 36 0.347461 0.0096516944 vc-find-backend-function 6 0.070114 0.0116856666 vc-working-revision 5 0.044984 0.0089968000 vc-state 5 0.044193 0.0088386 vc-file-getprop 34 0.0002640000 7.764...e-06 vc-kill-buffer-hook 35 0.0001860000 5.314...e-06 vc-stay-local-p 1 1422.366707 1422.366707 vc-backend 25667 1787.1615969 0.0696287683 vc-registered 37 1441.2173279 38.951819675 25667 339.20715399 0.0132156915 vc-file-getprop 25668 6.7371149999 0.0002624713 vc-backend 37 1441.2173279 38.951819675 vc-registered 37 1441.2173279 38.951819675 vc-call-backend 363 1435.5771489 3.9547579862 37 5.6396360000 0.1524225945 vc-file-setprop 37 0.000325 8.783...e-06 vc-file-getprop 37 0.0002180000 5.891...e-06 vc-call-backend 1 1422.384572 1422.384572 vc-stay-local-p 1 1422.384572 1422.384572 vc-backend 1 1422.366707 1422.366707 1 0.0178510000 0.0178510000 vc-make-backend-sym 1 1.4e-05 1.4e-05 vc-call-backend 5 0.044193 0.0088386 vc-state 25630 338.47379800 0.0132061567 25630 332.66181800 0.0129793920 vc-file-getprop 25630 5.8119799999 0.0002267647 vc-backend 25668 6.7371149999 0.0002624713 vc-state 25630 5.8119799999 0.0002267647 vc-working-revision 5 0.000611 0.0001222 vc-call-backend 34 0.0002640000 7.764...e-06 vc-registered 37 0.0002180000 5.891...e-06 vc-file-getprop 51374 12.550188000 0.0002442906 51374 12.550188000 0.0002442906 vc-call-backend 238490 10.425457000 4.371...e-05 vc-registered 37 0.000325 8.783...e-06 vc-file-setprop 238527 10.425782000 4.370...e-05 238527 10.425782000 4.370...e-05 vc-sccs-registered 36 2.596495 0.0721248611 vc-call-backend 37 2.2229139999 0.0600787567 vc-default-registered 73 4.819409 0.0660193013 vc-check-master-templates 73 3.312153 0.0453719589 73 1.5062270000 0.0206332465 vc-make-backend-sym 73 0.001029 1.409...e-05 vc-default-registered 73 3.312153 0.0453719589 vc-check-master-templates 73 3.312153 0.0453719589 73 2.980151 0.0408239863 vc-possible-master 219 0.3320019999 0.0015159908 vc-call-backend 36 2.919531 0.0810980833 vc-sccs-registered 36 2.919531 0.0810980833 vc-default-registered 36 2.596495 0.0721248611 36 0.3230360000 0.0089732222 vc-call-backend 36 0.7906200000 0.0219616666 vc-hg-registered 36 0.7906200000 0.0219616666 36 0.7592740000 0.0210909444 vc-find-root 36 0.031346 0.0008707222 vc-call-backend 36 0.784571 0.0217936388 vc-git-registered 36 0.784571 0.0217936388 36 0.752849 0.0209124722 vc-find-root 36 0.031722 0.0008811666 vc-call-backend 36 0.7820339999 0.0217231666 vc-mcvs-registered 36 0.7820339999 0.0217231666 36 0.7508869999 0.0208579722 vc-find-root 36 0.031147 0.0008651944 vc-call-backend 36 0.5590209999 0.0155283611 vc-mtn-registered 36 0.5590209999 0.0155283611 36 0.5279159999 0.0146643333 vc-find-root 36 0.0311050000 0.0008640277 vc-call-backend 36 0.3502429999 0.0097289722 vc-bzr-registered 36 0.3502429999 0.0097289722 36 0.3166469999 0.0087957499 vc-find-root 36 0.0335959999 0.0009332222 vc-call-backend 36 0.347461 0.0096516944 vc-arch-registered 36 0.347461 0.0096516944 36 0.3156090000 0.0087669166 vc-find-root 36 0.0318520000 0.0008847777 vc-check-master-templates 219 0.3320019999 0.0015159908 vc-possible-master 219 0.3320019999 0.0015159908 219 0.3312209999 0.0015124246 vc-sccs-search-project-dir 36 0.000781 2.169...e-05 vc-bzr-registered 36 0.0335959999 0.0009332222 vc-arch-registered 36 0.0318520000 0.0008847777 vc-git-registered 36 0.031722 0.0008811666 vc-hg-registered 36 0.031346 0.0008707222 vc-mcvs-registered 36 0.031147 0.0008651944 vc-mtn-registered 36 0.0311050000 0.0008640277 vc-find-root 216 0.1907680000 0.0008831851 216 0.1907680000 0.0008831851 vc-call-backend 6 0.070114 0.0116856666 vc-find-backend-function 7 0.0788049999 0.0112578571 7 0.0787069999 0.0112438571 vc-make-backend-sym 7 9.8e-05 1.4e-05 vc-call-backend 5 0.044984 0.0089968000 vc-working-revision 5 0.044984 0.0089968000 5 0.044373 0.0088746 vc-file-getprop 5 0.000611 0.0001222 vc-default-registered 73 0.001029 1.409...e-05 vc-find-backend-function 7 9.8e-05 1.4e-05 vc-stay-local-p 1 1.4e-05 1.4e-05 vc-make-backend-sym 81 0.0011409999 1.408...e-05 81 0.0011409999 1.408...e-05 vc-possible-master 36 0.000781 2.169...e-05 vc-sccs-search-project-dir 36 0.000781 2.169...e-05 36 0.000781 2.169...e-05 vc-call-backend 35 0.0001860000 5.314...e-06 vc-kill-buffer-hook 36 0.0001900000 5.277...e-06 36 0.0001900000 5.277...e-06