From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Lennart Borgman (gmail)" Newsgroups: gmane.emacs.devel Subject: Re: find-file takes forever on slow network file systems and very deep directories Date: Fri, 26 Sep 2008 13:37:04 +0200 Message-ID: <48DCC960.3060003@gmail.com> References: <48D86443.5090001@gmail.com> <50f5aa6a0809231114n3890d69bi77ee4c6b70572232@mail.gmail.com> <50f5aa6a0809231251k37f1f3a3p8a23b1a258a209ee@mail.gmail.com> <50f5aa6a0809250926y5047e8ei77416eb64fff5b09@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1222429093 21166 80.91.229.12 (26 Sep 2008 11:38:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 26 Sep 2008 11:38:13 +0000 (UTC) Cc: Andrzej Leszczynski , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 26 13:39:08 2008 connect(): Connection refused 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 1KjBf8-0005Gq-PR for ged-emacs-devel@m.gmane.org; Fri, 26 Sep 2008 13:39:07 +0200 Original-Received: from localhost ([127.0.0.1]:58991 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KjBe6-0000Ex-Ej for ged-emacs-devel@m.gmane.org; Fri, 26 Sep 2008 07:38:02 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KjBdQ-0008QX-Fo for emacs-devel@gnu.org; Fri, 26 Sep 2008 07:37:20 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KjBdM-0008OH-Jh for emacs-devel@gnu.org; Fri, 26 Sep 2008 07:37:19 -0400 Original-Received: from [199.232.76.173] (port=59338 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KjBdM-0008O9-7z for emacs-devel@gnu.org; Fri, 26 Sep 2008 07:37:16 -0400 Original-Received: from ch-smtp01.sth.basefarm.net ([80.76.149.212]:53936) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KjBdK-0001aN-NL; Fri, 26 Sep 2008 07:37:15 -0400 Original-Received: from c83-254-151-87.bredband.comhem.se ([83.254.151.87]:60683 helo=[127.0.0.1]) by ch-smtp01.sth.basefarm.net with esmtp (Exim 4.68) (envelope-from ) id 1KjBdH-0005sQ-5r; Fri, 26 Sep 2008 13:37:12 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 In-Reply-To: X-Enigmail-Version: 0.95.7 X-Antivirus: avast! (VPS 080925-0, 2008-09-25), Outbound message X-Antivirus-Status: Clean X-Originating-IP: 83.254.151.87 X-Scan-Result: No virus found in message 1KjBdH-0005sQ-5r. X-Scan-Signature: ch-smtp01.sth.basefarm.net 1KjBdH-0005sQ-5r 7e91dd528b6767424df1aa3681a7a13b X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6? (barebone, rare!) 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:104172 Archived-At: Eli Zaretskii wrote: >> Date: Thu, 25 Sep 2008 09:26:59 -0700 >> From: "Andrzej Leszczynski" >> >>> It looks like the VC package could be the culprit: there are many >>> filesystem calls that look for files such as: >>> >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\.bzr\checkout\ >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\RCS\ >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\CVS\Entries >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\.svn\entries >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\SCCS\ >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\file.c\_MTN\ >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\{arch}\ >>> W:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9\dirA\dirB\dirC\file.c\MCVS\ >>> >>> This greatly enlarges the number of files and directories Emacs needs >>> to `stat'. >>> >>> Can you try evaluating the following expression (in Emacs 22.x): >>> >>> (remove-hook 'find-file-hook 'vc-find-file-hook) >>> >>> and then see if the speed of `find-file' increases significantly as a >>> result? >>> >> I had the same thought - see in the USENET thread - but I did not have >> the clue how to disable it. Now it loads the file much faster, >> although it still _stats_ all the dirs up to the root (drive C:) > > Does anyone have any thoughts on how to avoid such a significant > performance hit (15 sec for a simple `find-file') on Samba volumes, as > opposed to just 2 seconds in Emacs 21.x, which didn't automatically > have `vc-find-file-hook' on the `find-file-hook' list? > > If there's no good cure, we should at least provide a user option to > avoid putting `vc-find-file-hook' on `find-file-hook', or maybe allow > finer-grain control of it, like per filesystem. > > Thoughts? I took a quick look at `vc-find-file-hook' and it looks like it is caching the `backend' property for the file name. Should not the check for the vc backend happen only once for each dir (like dir1, dir2 etc) above? Perhaps there is a bug somewhere so that the caching is not used?