abo-abo / oremacs

My Emacs config
https://oremacs.com/
296 stars 33 forks source link

Loading `ivy' package slows init load time #13

Closed srustamo closed 7 years ago

srustamo commented 7 years ago

I consistently see ivy and related packages take most time during init, judging by benchmark-init package tabulated results.

On closer inspection, I see that in your init.el you call (require 'ora-ivy) which in turn calls (require 'ivy) and (require 'counsel), with no autoloads defined in ora-ivy.el.

Do I miss something re loading of ivy related packages?

Here's the tree of of requires triggered by (require 'counsel).

├─[counsel require 13ms] │ ├─[jka-compr require 10ms] │ ├─[esh-util require 11ms] │ ╰─[swiper require 11ms] │ ╰─[ivy require 21ms] │ ├─[flx require 5ms] │ ├─[delsel require 9ms] │ ├─[ivy-overlay require 7ms] │ ╰─[ffap require 93ms] │ ╰─[url-parse require 10ms] │ ├─[auth-source require 14ms] │ │ ├─[gnus-util require 16ms] │ │ ├─[mm-util require 27ms] │ │ │ ├─[help-fns require 12ms] │ │ │ ╰─[mail-prsvr require 8ms] │ │ ╰─[password-cache require 8ms] │ ╰─[url-vars require 13ms]

abo-abo commented 7 years ago

Not surprisingly, if you require a lot of features, it takes some time.

Still, the time used is minimal, and the features that I require I really use.

srustamo commented 7 years ago

I was wondering how you get under a second load time. I see around 2.5 sec with pretty much same packages. Anyway, I think need to tweak my setup a bit.

abo-abo commented 7 years ago

It's gone up to 1.6s on my current laptop. But it's much faster on my work laptop, which has a SSD.

srustamo commented 7 years ago

Any chance to review ffap loading/autoloading. It seems to take the most time.

abo-abo commented 7 years ago

Any chance to review ffap loading/autoloading. It seems to take the most time.

ffap is built-in, nothing I can do about it.

In any case, I just did make profile on a fresh clone of the repository. It gives 1.13s startup time (no SSD). Out of that, only 0.08s is spent on (require 'ora-ivy).