* find-file takes forever on slow network file systems and very deep directories @ 2008-09-23 3:36 Andy Leszczynski 2008-09-23 18:00 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Andy Leszczynski @ 2008-09-23 3:36 UTC (permalink / raw) To: emacs-devel Here are details: http://tinyurl.com/4o6q49 A. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: find-file takes forever on slow network file systems and very deep directories 2008-09-23 3:36 find-file takes forever on slow network file systems and very deep directories Andy Leszczynski @ 2008-09-23 18:00 ` Eli Zaretskii [not found] ` <50f5aa6a0809231114n3890d69bi77ee4c6b70572232@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2008-09-23 18:00 UTC (permalink / raw) To: Andy Leszczynski; +Cc: emacs-devel > Date: Mon, 22 Sep 2008 20:36:35 -0700 > From: Andy Leszczynski <andy.leszczynski@gmail.com> > > Here are details: http://tinyurl.com/4o6q49 Thanks. Is it possible to add a trace from Emacs 21.3? That'd give us a clue where to look for the differences. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <50f5aa6a0809231114n3890d69bi77ee4c6b70572232@mail.gmail.com>]
* Re: find-file takes forever on slow network file systems and very deep directories [not found] ` <50f5aa6a0809231114n3890d69bi77ee4c6b70572232@mail.gmail.com> @ 2008-09-23 19:37 ` Eli Zaretskii [not found] ` <50f5aa6a0809231251k37f1f3a3p8a23b1a258a209ee@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2008-09-23 19:37 UTC (permalink / raw) To: Andrzej Leszczynski; +Cc: emacs-devel > Date: Tue, 23 Sep 2008 11:14:06 -0700 > From: "Andrzej Leszczynski" <andy.leszczynski@gmail.com> > > >> Here are details: http://tinyurl.com/4o6q49 > > > > Thanks. Is it possible to add a trace from Emacs 21.3? That'd give > > us a clue where to look for the differences. > > > > see attached (done on GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600) of > 2004-03-10 on NYAUMO) Thanks. I cannot spot anything significant: the traces look almost identical, and the code of the suspect function (emulated `stat') is virtually the same, up until the point where the value of w32-get-true-file-attributes is checked (the value of which you said made no difference). Previously you said that with Emacs 22.x, the number of file ops is 889, but I don't see so many ops in the trace you posted to the above URL. What am I missing? I also don't see the 15-sec delay in the trace: both the trace from Emacs 22.x and from 21.x show about 2-3 seconds between the first syscall and the last. Please help me understand the data. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <50f5aa6a0809231251k37f1f3a3p8a23b1a258a209ee@mail.gmail.com>]
* Re: find-file takes forever on slow network file systems and very deep directories [not found] ` <50f5aa6a0809231251k37f1f3a3p8a23b1a258a209ee@mail.gmail.com> @ 2008-09-24 19:02 ` Eli Zaretskii [not found] ` <50f5aa6a0809250926y5047e8ei77416eb64fff5b09@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2008-09-24 19:02 UTC (permalink / raw) To: Andrzej Leszczynski; +Cc: emacs-devel [Please keep the emacs-devel list on the list of addressees.] > Date: Tue, 23 Sep 2008 12:51:23 -0700 > From: "Andrzej Leszczynski" <andy.leszczynski@gmail.com> > > > Thanks. I cannot spot anything significant: the traces look almost > > identical, and the code of the suspect function (emulated `stat') is > > virtually the same, up until the point where the value of > > w32-get-true-file-attributes is checked (the value of which you said > > made no difference). > > > > Previously you said that with Emacs 22.x, the number of file ops is > > 889, but I don't see so many ops in the trace you posted to the above > > URL. What am I missing? > > > > I also don't see the 15-sec delay in the trace: both the trace from > > Emacs 22.x and from 21.x show about 2-3 seconds between the first > > syscall and the last. > > > > Please help me understand the data. > > > > the original log embedded in the email contains almost 900 lines and > take 15 seconds - I guess you need to click on "read more" > > 64 2:45:51 PM > [...] > 952 2:46:06 PM > > and it is on emacs run with no .emacs file. Plase doble check if you > can see that. w32-get-true-file-attributes does not improve it. Right, I see the whole 900+ lines now. 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? ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <50f5aa6a0809250926y5047e8ei77416eb64fff5b09@mail.gmail.com>]
* Re: find-file takes forever on slow network file systems and very deep directories [not found] ` <50f5aa6a0809250926y5047e8ei77416eb64fff5b09@mail.gmail.com> @ 2008-09-26 9:03 ` Eli Zaretskii 2008-09-26 11:37 ` Lennart Borgman (gmail) 2008-09-26 15:05 ` Stefan Monnier 0 siblings, 2 replies; 10+ messages in thread From: Eli Zaretskii @ 2008-09-26 9:03 UTC (permalink / raw) To: emacs-devel; +Cc: Andrzej Leszczynski > Date: Thu, 25 Sep 2008 09:26:59 -0700 > From: "Andrzej Leszczynski" <andy.leszczynski@gmail.com> > > > 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? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: find-file takes forever on slow network file systems and very deep directories 2008-09-26 9:03 ` Eli Zaretskii @ 2008-09-26 11:37 ` Lennart Borgman (gmail) 2008-09-26 15:05 ` Stefan Monnier 1 sibling, 0 replies; 10+ messages in thread From: Lennart Borgman (gmail) @ 2008-09-26 11:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Andrzej Leszczynski, emacs-devel Eli Zaretskii wrote: >> Date: Thu, 25 Sep 2008 09:26:59 -0700 >> From: "Andrzej Leszczynski" <andy.leszczynski@gmail.com> >> >>> 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? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: find-file takes forever on slow network file systems and very deep directories 2008-09-26 9:03 ` Eli Zaretskii 2008-09-26 11:37 ` Lennart Borgman (gmail) @ 2008-09-26 15:05 ` Stefan Monnier 2008-09-26 15:41 ` Eli Zaretskii 1 sibling, 1 reply; 10+ messages in thread From: Stefan Monnier @ 2008-09-26 15:05 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Andrzej Leszczynski, emacs-devel > 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. AFAIK, the same happened under Emacs-21. The only difference is the number of backends we check, as well as the fact that most/all the new backends need to look at parent-dirs whereas the older backends only need to look at the current dir. Currently, there are 2 ways to control this problem: 1 - Trim vc-handled-backends so it only includes backends about which you care. 2 - Set vc-ignore-dir-regexp to turn off VC in your Samba subtree. -- Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: find-file takes forever on slow network file systems and very deep directories 2008-09-26 15:05 ` Stefan Monnier @ 2008-09-26 15:41 ` Eli Zaretskii 2008-09-26 16:23 ` Stefan Monnier 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2008-09-26 15:41 UTC (permalink / raw) To: Stefan Monnier; +Cc: andy.leszczynski, emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Cc: emacs-devel@gnu.org, Andrzej Leszczynski <andy.leszczynski@gmail.com> > Date: Fri, 26 Sep 2008 11:05:51 -0400 > > > 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. > > AFAIK, the same happened under Emacs-21. Not with "emacs -Q", AFAICS. > 2 - Set vc-ignore-dir-regexp to turn off VC in your Samba subtree. That'd be the solution I was looking for. Thanks. Andy, does this do what you want? (I still have on my TODO to make most callers of `stat' on Windows bind w32-get-true-file-attributes to nil, which will make find-file even faster.) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: find-file takes forever on slow network file systems and very deep directories 2008-09-26 15:41 ` Eli Zaretskii @ 2008-09-26 16:23 ` Stefan Monnier 0 siblings, 0 replies; 10+ messages in thread From: Stefan Monnier @ 2008-09-26 16:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: andy.leszczynski, emacs-devel >> > 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. >> AFAIK, the same happened under Emacs-21. > Not with "emacs -Q", AFAICS. IIRC Emacs-21 only supported CVS, RCS, and SCCS, neither of which needs to walk up the directory tree, so the behavior was indeed different. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* find-file takes forever on slow network file systems and very deep directories @ 2008-09-23 3:37 Andy L 0 siblings, 0 replies; 10+ messages in thread From: Andy L @ 2008-09-23 3:37 UTC (permalink / raw) To: emacs-devel Here are details: http://tinyurl.com/4o6q49 A. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-09-26 16:23 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-09-23 3:36 find-file takes forever on slow network file systems and very deep directories Andy Leszczynski 2008-09-23 18:00 ` Eli Zaretskii [not found] ` <50f5aa6a0809231114n3890d69bi77ee4c6b70572232@mail.gmail.com> 2008-09-23 19:37 ` Eli Zaretskii [not found] ` <50f5aa6a0809231251k37f1f3a3p8a23b1a258a209ee@mail.gmail.com> 2008-09-24 19:02 ` Eli Zaretskii [not found] ` <50f5aa6a0809250926y5047e8ei77416eb64fff5b09@mail.gmail.com> 2008-09-26 9:03 ` Eli Zaretskii 2008-09-26 11:37 ` Lennart Borgman (gmail) 2008-09-26 15:05 ` Stefan Monnier 2008-09-26 15:41 ` Eli Zaretskii 2008-09-26 16:23 ` Stefan Monnier -- strict thread matches above, loose matches on Subject: below -- 2008-09-23 3:37 Andy L
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.