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)...
... 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.