help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: How to load recentf only after opening/saving a file for thefirsttim


From: Sebastien Vauban
Subject: Re: How to load recentf only after opening/saving a file for thefirsttime?
Date: Thu, 13 Sep 2012 09:37:34 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2 (windows-nt)

Hello Drew,

"Drew Adams" wrote:
> And maybe try profiling code for the worst parts of your problem.  Perhaps
> you've hit a bug or two, or perhaps you've found an opportunity for some 
> library
> to be improved wrt load performance.

I did not give, last time, the time needed to load `recentf'. Here it is
(1.72 s):

--8<---------------cut here---------------start------------->8---
(info) +-> Requiring `recentf'...
(info)   +-> Requiring `easymenu'... c:/Program 
Files/Emacs-24.2/lisp/emacs-lisp/easymenu.elc (loaded in 0.33 s)
(info)   +-> Requiring `tree-widget'...
(info)     +-> Requiring `wid-edit'... c:/Program 
Files/Emacs-24.2/lisp/wid-edit.elc (loaded in 0.44 s)
(info)   +-> Requiring `tree-widget'... c:/Program 
Files/Emacs-24.2/lisp/tree-widget.elc (loaded in 1.02 s)
(info)   +-> Requiring `timer'... already loaded
(info) +-> Requiring `recentf'... c:/Program Files/Emacs-24.2/lisp/recentf.elc 
(loaded in 1.72 s)
--8<---------------cut here---------------end--------------->8---

About `vc' (3.00 s) -- which I need at startup time (?) for displaying an icon
in the modeline ("Unmodified-according-to-VC" buffer vs modified buffer) --, I
think it requires much more than needed (`ediff', for example, is not
necessary at startup time)...

--8<---------------cut here---------------start------------->8---
(info) +-> Requiring `vc'...
(info)   +-> Requiring `vc-hooks'... already loaded
(info)   +-> Requiring `vc-dispatcher'... c:/Program 
Files/Emacs-24.2/lisp/vc/vc-dispatcher.elc (loaded in 0.33 s)
(info)   +-> Requiring `ediff'...
(info)     +-> Requiring `ediff-init'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-init.elc (loaded in 0.33 s)
(info)     +-> Requiring `ediff-mult'...
(info)       +-> Requiring `ediff-init'... already loaded
(info)     +-> Requiring `ediff-mult'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-mult.elc (loaded in 0.31 s)
(info)     +-> Requiring `ediff-util'...
(info)       +-> Requiring `ediff-init'... already loaded
(info)       +-> Requiring `ediff-help'...
(info)         +-> Requiring `ediff-init'... already loaded
(info)       +-> Requiring `ediff-help'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-help.elc (loaded in 0.28 s)
(info)       +-> Requiring `ediff-mult'... already loaded
(info)       +-> Requiring `ediff-wind'...
(info)         +-> Requiring `ediff-init'... already loaded
(info)       +-> Requiring `ediff-wind'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-wind.elc (loaded in 0.28 s)
(info)       +-> Requiring `ediff-diff'...
(info)         +-> Requiring `ediff-init'... already loaded
(info)       +-> Requiring `ediff-diff'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-diff.elc (loaded in 0.28 s)
(info)       +-> Requiring `ediff-merg'...
(info)         +-> Requiring `ediff-init'... already loaded
(info)       +-> Requiring `ediff-merg'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-merg.elc (loaded in 0.28 s)
(info)     +-> Requiring `ediff-util'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-util.elc (loaded in 1.45 s)
(info)   +-> Requiring `ediff'... c:/Program Files/Emacs-24.2/lisp/vc/ediff.elc 
(loaded in 2.39 s)
(info) +-> Requiring `vc'... c:/Program Files/Emacs-24.2/lisp/vc/vc.elc (loaded 
in 3.00 s)
--8<---------------cut here---------------end--------------->8---

... but I can't do anything about it, right, as it is hard-coded that way in
`vc.el' (which I need for the vc-icon in every loaded file).

Same for the (very) nice-to-have `dired+' which requires `ediff-util', hence a
lot more at the end (4.20 s in total):

--8<---------------cut here---------------start------------->8---
(info)     +-> Requiring `dired+'...
(info)       +-> Requiring `easymenu'... already loaded
(info)       +-> Requiring `dired'... already loaded
(info)       +-> Requiring `dired-aux'...
(info)         +-> Requiring `dired'... already loaded
(info)       +-> Requiring `dired-aux'... c:/Program 
Files/Emacs-24.2/lisp/dired-aux.elc (loaded in 0.25 s)
(info)       +-> Requiring `ediff-util'...
(info)         +-> Requiring `ediff-init'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-init.elc (loaded in 0.27 s)
(info)         +-> Requiring `ediff-help'...
(info)           +-> Requiring `ediff-init'... already loaded
(info)         +-> Requiring `ediff-help'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-help.elc (loaded in 0.28 s)
(info)         +-> Requiring `ediff-mult'...
(info)           +-> Requiring `ediff-init'... already loaded
(info)         +-> Requiring `ediff-mult'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-mult.elc (loaded in 0.28 s)
(info)         +-> Requiring `ediff-wind'...
(info)           +-> Requiring `ediff-init'... already loaded
(info)         +-> Requiring `ediff-wind'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-wind.elc (loaded in 0.27 s)
(info)         +-> Requiring `ediff-diff'...
(info)           +-> Requiring `ediff-init'... already loaded
(info)         +-> Requiring `ediff-diff'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-diff.elc (loaded in 0.25 s)
(info)         +-> Requiring `ediff-merg'...
(info)           +-> Requiring `ediff-init'... already loaded
(info)         +-> Requiring `ediff-merg'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-merg.elc (loaded in 0.23 s)
(info)       +-> Requiring `ediff-util'... c:/Program 
Files/Emacs-24.2/lisp/vc/ediff-util.elc (loaded in 1.88 s)
(info)       +-> Requiring `dired-x'...
(info)         +-> Requiring `dired'... already loaded
(info)         +-> Requiring `easymenu'... already loaded
(info)       +-> Requiring `dired-x'... c:/Program 
Files/Emacs-24.2/lisp/dired-x.elc (loaded in 0.47 s)
(info)       +-> Requiring `misc-fns'... nil (loaded in 0.30 s)
(info)       +-> Requiring `w32-browser'... nil (loaded in 0.25 s)
(info)       +-> Requiring `dired+'... already loaded
(info)       +-> Requiring `bookmark+'... nil (loaded in 0.25 s)
(info)       +-> Requiring `bookmark+'... nil (loaded in 0.25 s)
(info)       +-> Requiring `bookmark+'... nil (loaded in 0.23 s)
(info)       +-> Requiring `help-mode'... already loaded
(info)     +-> Requiring `dired+'... 
d:/home/sva/Downloads/emacs/site-lisp/dired+.el (loaded in 4.20 s)
--8<---------------cut here---------------end--------------->8---

Any way to lighten this?

OK, maybe I should load `dired+' in an eval-after-load "dired" (if that one is
not loaded on its own, by Emacs?)... I'll try.

Best regards,
  Seb

--
Sebastien Vauban


reply via email to

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