From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Speeding up vc-dired still more Date: Thu, 27 Dec 2007 09:52:02 -0500 (EST) Message-ID: <20071227145202.8A12A830BC9@snark.thyrsus.com> NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1198767189 31498 80.91.229.12 (27 Dec 2007 14:53:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 27 Dec 2007 14:53:09 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 27 15:53:19 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 1J7u6n-0003kV-Ts for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 15:53:18 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J7u6S-0002rI-NN for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 09:52:57 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J7u5c-0002TR-6A for emacs-devel@gnu.org; Thu, 27 Dec 2007 09:52:04 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J7u5a-0002SU-Db for emacs-devel@gnu.org; Thu, 27 Dec 2007 09:52:03 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J7u5a-0002SP-3e for emacs-devel@gnu.org; Thu, 27 Dec 2007 09:52:02 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J7u5Z-00054r-Os for emacs-devel@gnu.org; Thu, 27 Dec 2007 09:52:01 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 23) id 8A12A830BC9; Thu, 27 Dec 2007 09:52:02 -0500 (EST) 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:85515 Archived-At: Dan Nicolaescu : > That will show 1000 calls to vc-bzr-registered, vc-git-registered, > vc-arch-registered, vc-svn-registered etc etc. Not any more. I've added a check against completion-ignored-extensions, encapsulated in a new function called vc-dired-ignorable-p. -- Eric S. Raymond Rifles, muskets, long-bows and hand-grenades are inherently democratic weapons. A complex weapon makes the strong stronger, while a simple weapon -- so long as there is no answer to it -- gives claws to the weak. -- George Orwell, "You and the Atom Bomb", 1945 From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Thu, 27 Dec 2007 11:27:23 -0800 Message-ID: <200712271927.lBRJRNM3017565@oogie-boogie.ics.uci.edu> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198783824 16534 80.91.229.12 (27 Dec 2007 19:30:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 27 Dec 2007 19:30:24 +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 Thu Dec 27 20:30:37 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 1J7yRA-0003m2-E2 for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 20:30:36 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J7yQp-0006cZ-Ms for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 14:30:15 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J7yQl-0006Zt-8n for emacs-devel@gnu.org; Thu, 27 Dec 2007 14:30:11 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J7yQk-0006ZZ-OK for emacs-devel@gnu.org; Thu, 27 Dec 2007 14:30:10 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J7yQk-0006ZW-HS for emacs-devel@gnu.org; Thu, 27 Dec 2007 14:30:10 -0500 Original-Received: from oogie-boogie.ics.uci.edu ([128.195.1.41]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J7yQj-0008UB-Nc for emacs-devel@gnu.org; Thu, 27 Dec 2007 14:30:10 -0500 Original-Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by oogie-boogie.ics.uci.edu (8.13.6/8.13.6) with ESMTP id lBRJRNM3017565; Thu, 27 Dec 2007 11:27:23 -0800 (PST) In-Reply-To: <20071227145202.8A12A830BC9@snark.thyrsus.com> (Eric S. Raymond's message of "Thu, 27 Dec 2007 09:52:02 -0500 (EST)") Original-Lines: 65 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.286, required 5, autolearn=disabled, ALL_TRUSTED -1.44, TW_BZ 0.08, TW_SV 0.08) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu X-detected-kernel: by monty-python.gnu.org: Solaris 9 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:85527 Archived-At: "Eric S. Raymond" writes: > Dan Nicolaescu : > > That will show 1000 calls to vc-bzr-registered, vc-git-registered, > > vc-arch-registered, vc-svn-registered etc etc. > > Not any more. I've added a check against > completion-ignored-extensions, encapsulated in a new function called > vc-dired-ignorable-p. Thanks, much better now. There's still some more performance left to be squeezed out. For the Linux kernel, with 5 files modified git ls-files | wc -l 22555 find . -type f shows a similar number. The elp-results after doing an C-x v d in the kernel directory are: Function Name Call Count Elapsed Time Average Time ======================================== ========== ============ ============ vc-directory 1 411.40415 411.40415 vc-dired-hook 1 390.315596 390.315596 vc-backend 22567 350.89581700 0.0155490679 vc-registered 22553 348.03225700 0.0154317499 vc-call-backend 135338 344.50350300 0.0025455046 vc-git-registered 22553 315.02742200 0.0139683156 vc-git--out-ok 22553 301.38389399 0.0133633615 vc-git--call 22553 300.84999399 0.0133396884 ^^^^^^^^^^^^ This seems to take most of the time. There are too many calls vc-registered (which calls vc-git-registered, which in turn calls vc-git--call). It seems that the vc-registered calls should not be necessary, vc-git-dir-state should get the state for most of those files... vc-find-root 45111 22.290543000 0.0004941265 vc-default-registered 45106 9.6466160000 0.0002138654 vc-git-root 22556 8.4365439999 0.0003740266 vc-check-master-templates 45106 8.0527110000 0.0001785285 vc-file-getprop 112787 3.1722110000 2.812...e-05 vc-file-setprop 45146 2.7922379999 6.184...e-05 vc-dired-ignorable-p 22570 2.5674069999 0.0001137530 vc-possible-master 135318 2.4839079999 1.835...e-05 vc-dired-purge 1 1.728984 1.728984 vc-git-dir-state 1 1.210754 1.210754 vc-state 22560 0.5940990000 2.633...e-05 vc-make-backend-sym 45117 0.4681929999 1.037...e-05 vc-git-command 1 0.144623 0.144623 vc-do-command 1 0.144614 0.144614 vc-kill-buffer-hook 22555 0.0699610000 3.101...e-06 vc-dired-mode 1 0.060731 0.060731 vc-responsible-backend 2 0.055134 0.027567 vc-find-backend-function 11 0.0533559999 0.0048505454 vc-dired-reformat-line 6 0.001267 0.0002111666 vc-git-responsible-p 3 0.000387 0.000129 vc-git-dired-state-info 6 0.000136 2.266...e-05 vc-delistify 2 6e-06 3e-06 vc-exec-after 1 6e-06 6e-06 From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Thu, 27 Dec 2007 13:25:47 -0800 Message-ID: <200712272125.lBRLPlo7020948@oogie-boogie.ics.uci.edu> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> <200712271927.lBRJRNM3017565@oogie-boogie.ics.uci.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198790834 3803 80.91.229.12 (27 Dec 2007 21:27:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 27 Dec 2007 21:27:14 +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 Thu Dec 27 22:27:27 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 1J80GE-0005hG-OT for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 22:27:27 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J80Fs-0004v5-St for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 16:27:04 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J80Fo-0004tT-Gg for emacs-devel@gnu.org; Thu, 27 Dec 2007 16:27:00 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J80Fn-0004sl-M7 for emacs-devel@gnu.org; Thu, 27 Dec 2007 16:27:00 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J80Fn-0004sd-I2 for emacs-devel@gnu.org; Thu, 27 Dec 2007 16:26:59 -0500 Original-Received: from oogie-boogie.ics.uci.edu ([128.195.1.41]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J80Fn-0005wB-75 for emacs-devel@gnu.org; Thu, 27 Dec 2007 16:26:59 -0500 Original-Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by oogie-boogie.ics.uci.edu (8.13.6/8.13.6) with ESMTP id lBRLPlo7020948; Thu, 27 Dec 2007 13:25:47 -0800 (PST) In-Reply-To: <200712271927.lBRJRNM3017565@oogie-boogie.ics.uci.edu> (Dan Nicolaescu's message of "Thu, 27 Dec 2007 11:27:23 -0800") Original-Lines: 52 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.286, required 5, autolearn=disabled, ALL_TRUSTED -1.44, TW_BZ 0.08, TW_SV 0.08) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu X-detected-kernel: by monty-python.gnu.org: Solaris 9 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:85530 Archived-At: Dan Nicolaescu writes: > "Eric S. Raymond" writes: > > > Dan Nicolaescu : > > > That will show 1000 calls to vc-bzr-registered, vc-git-registered, > > > vc-arch-registered, vc-svn-registered etc etc. > > > > Not any more. I've added a check against > > completion-ignored-extensions, encapsulated in a new function called > > vc-dired-ignorable-p. > > Thanks, much better now. > > There's still some more performance left to be squeezed out. > > For the Linux kernel, with 5 files modified > git ls-files | wc -l > 22555 > > find . -type f > shows a similar number. > > The elp-results after doing an C-x v d in the kernel directory are: > > > Function Name Call Count Elapsed Time Average Time > ======================================== ========== ============ ============ > vc-directory 1 411.40415 411.40415 > vc-dired-hook 1 390.315596 390.315596 > vc-backend 22567 350.89581700 0.0155490679 > vc-registered 22553 348.03225700 0.0154317499 > vc-call-backend 135338 344.50350300 0.0025455046 > vc-git-registered 22553 315.02742200 0.0139683156 > vc-git--out-ok 22553 301.38389399 0.0133633615 > vc-git--call 22553 300.84999399 0.0133396884 > ^^^^^^^^^^^^ > This seems to take most of the time. There are too many calls > vc-registered (which calls vc-git-registered, which in turn calls vc-git--call). > > It seems that the vc-registered calls should not be necessary, > vc-git-dir-state should get the state for most of those files... All those vc-registered calls are generated by calling vc-backend in vc-dired-hook: ;; ordinary file -- call the (possibly expensive) state query (t (let ((backend (vc-backend filename))) (cond ;; Not registered ((not backend) From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alexandru Harsanyi Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 11:53:26 +0900 Message-ID: References: <20071227145202.8A12A830BC9@snark.thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v753) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1198810425 16408 80.91.229.12 (28 Dec 2007 02:53:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 02:53:45 +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 Fri Dec 28 03:53:59 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 1J85MC-0006jM-Lk for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 03:53:56 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J85Lr-0000AS-KQ for ged-emacs-devel@m.gmane.org; Thu, 27 Dec 2007 21:53:35 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J85Ll-00005j-Qu for emacs-devel@gnu.org; Thu, 27 Dec 2007 21:53:30 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J85Lj-0008Tu-BB for emacs-devel@gnu.org; Thu, 27 Dec 2007 21:53:28 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J85Lj-0008Tb-1h for emacs-devel@gnu.org; Thu, 27 Dec 2007 21:53:27 -0500 Original-Received: from hosted05.westnet.com.au ([203.10.1.219]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J85Li-00055N-Ip for emacs-devel@gnu.org; Thu, 27 Dec 2007 21:53:26 -0500 Original-Received: from hosted05.westnet.com.au (hosted05.westnet.com.au [127.0.0.1]) by hosted05.westnet.com.au (Postfix) with SMTP id D92DE3F12BC; Fri, 28 Dec 2007 11:53:23 +0900 (WST) Original-Received: from [10.0.1.4] (dsl-58-7-169-97.wa.westnet.com.au [58.7.169.97]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by hosted05.westnet.com.au (Postfix) with ESMTP id 9827B3F16D2; Fri, 28 Dec 2007 11:53:22 +0900 (WST) In-Reply-To: <20071227145202.8A12A830BC9@snark.thyrsus.com> X-Mailer: Apple Mail (2.753) X-PMX-Branch: TNG-Outgoing X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:85531 Archived-At: On 27 Dec 2007, at 11:52 PM, Eric S. Raymond wrote: > Dan Nicolaescu : >> That will show 1000 calls to vc-bzr-registered, vc-git-registered, >> vc-arch-registered, vc-svn-registered etc etc. > > Not any more. I've added a check against > completion-ignored-extensions, encapsulated in a new function called > vc-dired-ignorable-p. > Perhaps `vc-dired-ignorable-p' should be a backend function (vc- BACKEND-dired-ignorable-p). I'm thinking that the CVS backend could look at .cvsignore for the list of files to ignore, the SVN backend at .svnignore, and so on. This way, Emacs will ignore the same set of files as the VC backend would ignore when used in command line mode. Alex. From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 04:20:06 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20071228092006.GB23009@thyrsus.com> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> <200712271927.lBRJRNM3017565@oogie-boogie.ics.uci.edu> <200712272125.lBRLPlo7020948@oogie-boogie.ics.uci.edu> Reply-To: esr@thyrsus.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198833620 28865 80.91.229.12 (28 Dec 2007 09:20:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 09:20:20 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org To: Dan Nicolaescu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 28 10:20:33 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 1J8BOK-0000Kv-Mk for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 10:20:32 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BNz-0003mQ-BI for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 04:20:11 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J8BNu-0003jz-AC for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:06 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J8BNt-0003iy-Mx for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BNt-0003ig-HZ for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J8BNt-0004Ij-9I for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:20:05 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 23) id D5744830BC9; Fri, 28 Dec 2007 04:20:06 -0500 (EST) Content-Disposition: inline In-Reply-To: <200712272125.lBRLPlo7020948@oogie-boogie.ics.uci.edu> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.15+20070412 (2007-04-11) 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:85536 Archived-At: Dan Nicolaescu : > All those vc-registered calls are generated by calling vc-backend in > vc-dired-hook: > > ;; ordinary file -- call the (possibly expensive) state query > (t > (let ((backend (vc-backend filename))) > (cond > ;; Not registered > ((not backend) I think this tells me that dir-state needs to set a new state value of 'unregistered when it sees status flag "?" (that's the Subversion and Mercurial flag; there may be other local equivalents). That way the backend check wouldn't need to be done on on a per-file basis. This change could be a bit tricky. Right now a nil return from vc-state means the file is unregistered. I don't know how deeply that assumption is wired into the code. -- Eric S. Raymond From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 04:25:26 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20071228092526.GC23009@thyrsus.com> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> Reply-To: esr@thyrsus.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198833946 29560 80.91.229.12 (28 Dec 2007 09:25:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 09:25:46 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org To: Alexandru Harsanyi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 28 10:26:00 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 1J8BTY-0001Ym-PC for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 10:25:57 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BTD-0008Ts-Dw for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 04:25:35 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J8BT4-0008RN-Qp for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:25:26 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J8BT3-0008Q4-Vn for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:25:26 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8BT3-0008Pr-LE for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:25:25 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J8BT3-0005HK-CS for emacs-devel@gnu.org; Fri, 28 Dec 2007 04:25:25 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 23) id E167A830BC9; Fri, 28 Dec 2007 04:25:26 -0500 (EST) Content-Disposition: inline In-Reply-To: X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.15+20070412 (2007-04-11) 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:85537 Archived-At: Alexandru Harsanyi : > Perhaps `vc-dired-ignorable-p' should be a backend function > (vc-BACKEND-dired-ignorable-p). I'm thinking that the CVS backend could > look at .cvsignore for the list of files to ignore, the SVN backend at > .svnignore, and so on. This way, Emacs will ignore the same set of files > as the VC backend would ignore when used in command line mode. It shouldn't *be* a new backend function, but it should probably *call* such a function. The reason I say that is that there are some ignorable files that don't fit in the .svnignore/.cvsignore model. As an example, right now I have in there logic to ignore Makefile if it has a peer named Makefile.in or Makefile.am. This is a good idea, but I have several higher-priority changes in my queue. Are you interested enough to do it? -- Eric S. Raymond From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alexandru Harsanyi Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 19:55:53 +0900 Message-ID: <914CCC23-1E02-4FC1-A400-F280B819A3D8@mac.com> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> <20071228092526.GC23009@thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v753) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1198839379 11569 80.91.229.12 (28 Dec 2007 10:56:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 10:56:19 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 28 11:56:23 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 1J8Ct5-0000os-2f for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 11:56:23 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8Csk-0002NN-34 for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 05:56:02 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J8Csf-0002Lc-Bg for emacs-devel@gnu.org; Fri, 28 Dec 2007 05:55:57 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J8Csd-0002KB-CQ for emacs-devel@gnu.org; Fri, 28 Dec 2007 05:55:56 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8Csd-0002Jv-6p for emacs-devel@gnu.org; Fri, 28 Dec 2007 05:55:55 -0500 Original-Received: from hosted04.westnet.com.au ([203.10.1.217]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J8Csc-00028y-JC for emacs-devel@gnu.org; Fri, 28 Dec 2007 05:55:55 -0500 Original-Received: from hosted04.westnet.com.au (hosted04.westnet.com.au [127.0.0.1]) by hosted04.westnet.com.au (Postfix) with SMTP id 98BEB21D6FF; Fri, 28 Dec 2007 19:55:50 +0900 (WST) Original-Received: from [10.0.1.4] (dsl-58-7-169-97.wa.westnet.com.au [58.7.169.97]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by hosted04.westnet.com.au (Postfix) with ESMTP id 2DEB121D4AD; Fri, 28 Dec 2007 19:55:48 +0900 (WST) In-Reply-To: <20071228092526.GC23009@thyrsus.com> X-Mailer: Apple Mail (2.753) X-PMX-Branch: TNG-Outgoing X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:85540 Archived-At: On 28 Dec 2007, at 6:25 PM, Eric S. Raymond wrote: > Alexandru Harsanyi : >> Perhaps `vc-dired-ignorable-p' should be a backend function >> (vc-BACKEND-dired-ignorable-p). I'm thinking that the CVS backend >> could >> look at .cvsignore for the list of files to ignore, the SVN >> backend at >> .svnignore, and so on. This way, Emacs will ignore the same set >> of files >> as the VC backend would ignore when used in command line mode. > > It shouldn't *be* a new backend function, but it should probably > *call* > such a function. This is what I intended to say too :-) > The reason I say that is that there are some ignorable > files that don't fit in the .svnignore/.cvsignore model. > > As an example, right now I have in there logic to ignore Makefile if > it has a peer named Makefile.in or Makefile.am. At least for the Emacs repository, .cvsignore lists Makefile so it is ignored by CVS. A `vc-cvs-dired-ignorable-p' implementation which looks only at .cvsignore will ignore the Makefile with no extra logic. > > This is a good idea, but I have several higher-priority changes in my > queue. Are you interested enough to do it? I'm happy to make these changes, I will send you a patch for review. > Best Regards, Alex. From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: Speeding up vc-dired still more Date: Fri, 28 Dec 2007 07:21:43 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20071228122143.GA24154@thyrsus.com> References: <20071227145202.8A12A830BC9@snark.thyrsus.com> <20071228092526.GC23009@thyrsus.com> <914CCC23-1E02-4FC1-A400-F280B819A3D8@mac.com> Reply-To: esr@thyrsus.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198844526 25305 80.91.229.12 (28 Dec 2007 12:22:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Dec 2007 12:22:06 +0000 (UTC) Cc: "Eric S. Raymond" , emacs-devel@gnu.org To: Alexandru Harsanyi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 28 13:22:10 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 1J8EE5-0005PT-Fo for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 13:22:09 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8EDk-0005jW-Bv for ged-emacs-devel@m.gmane.org; Fri, 28 Dec 2007 07:21:48 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J8EDg-0005hk-6A for emacs-devel@gnu.org; Fri, 28 Dec 2007 07:21:44 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J8EDe-0005df-Dk for emacs-devel@gnu.org; Fri, 28 Dec 2007 07:21:43 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J8EDe-0005dQ-9J for emacs-devel@gnu.org; Fri, 28 Dec 2007 07:21:42 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J8EDe-0007d7-1p for emacs-devel@gnu.org; Fri, 28 Dec 2007 07:21:42 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 23) id 87C00830BC9; Fri, 28 Dec 2007 07:21:43 -0500 (EST) Content-Disposition: inline In-Reply-To: <914CCC23-1E02-4FC1-A400-F280B819A3D8@mac.com> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.15+20070412 (2007-04-11) 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:85541 Archived-At: Alexandru Harsanyi : >> This is a good idea, but I have several higher-priority changes in my >> queue. Are you interested enough to do it? > > I'm happy to make these changes, I will send you a patch for review. I now think this is actually only needed for CVS. Subversion and Mercurial will return an "I" in dirstate for ignored files -- it would be faster to use that than to parse the ignore file explicitly. But this will requires that I change (vc-state) to return an 'ignored state. Maybe you should hold off until I've reworked the repertoire of state properties. -- Eric S. Raymond