[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs 23.0 is much slower starting than Emacs 22.3

From: Stefan Monnier
Subject: Re: Emacs 23.0 is much slower starting than Emacs 22.3
Date: Fri, 24 Oct 2008 14:42:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>>> Most of the latter is in "hack-project-variables", and most of /that/ is
>>> "project-find-settings-file", and most of that is the
>>> "locate-dominating-file" walk.
>> locate-dominating-file (or rather some equivalent code) is also used in
>> VC to detect the revision control system used for the file.
>> It's actually used 5 times there (once each for Bzr Git Hg Mtn Arch), so
>> are you sure only the one in project-find-settings-file costs us
>> the slowdown?  

> Not all of it, but it seems to be significant.

> taking out locate-dominating-file with:
> (defun locate-dominating-file (file regexp) nil)

> runs just now (one after the other, no reboot, so probably
> from OS cache anyway)

> emacs         l-d-f   realtime
> 22    n/a     4.921
> 23    off     6.188
> 23    on      7.500

> Taking out hack-project-variables as a whole similarly

> emacs         h-p-v   realtime
> 23    off     6.079

> So it's about 1/2 the slowdown?

> Then I set vc-handled-backends to nil (not sure that stops
> vc searching totally, mind):

> emacs vc-h-b  h-p-v   realtime
> 23    off     off     5.503
> 23    off     on      7.189

Setting vc-handled-backends to nil should indeed stop VC from doing
those directory walks.  So now I don't understand why the walks done by
VC are so much cheaper than the ones done by locate-dominating-file.
Could it be that all the files you opened were under CVS control (so
the VC search stops before having to walk up the directories)?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]