关于加快emacs启动速度(大家猪年好)

最近研究了一下doom-emacs, 把其中生成autoloads.el文件, 并(load autoloads.elc)的相关代码提取出来创建了一个package mape-package,让emacs启动如丝般润滑

使用(package-initialize)时,启动时间为

Emacs startup finished in 1257.84ms with 179 packages

使用

  (require 'maple-package)
  (maple-package-initialize 'no-activate)

时,启动时间缩短了大概1/3s

Emacs startup finished in 837.90ms with 179 packages

欢迎测试

5 个赞

假期最后几天,我把自己使用的一些package提取出来,创建了单独的仓库,有需要的可以看一下

持续更新中。。。

5 个赞

帮 顶

但是有办法让Android Studio 也启动快一点吗

试用了下maple-package, 原理似乎是把所有 autoloads 编译到一个统一的文件中 cache 起来,然后启动直接读取这个文件。不知道理解对不对。

还有两个疑问。

  1. 似乎比原生的还慢?按原理来讲不应该如此啊。
;; (0.972322 3 0.20525599999999988)
(benchmark-run 1 (maple-package-initialize 'no-activate))

;; (0.5106 2 0.15963199999999977)
(benchmark-run 1 (package-initialize 'no-activate))
  1. Emacs27 不需要调用package-initialize,该如何使用maple-package呢?

在early-init.el把这个操作枪毙掉

https://github.com/hlissner/doom-emacs/blob/develop/early-init.el#L12

1 个赞

Android Studio我没怎么用过,不清楚诶

不应该啊,我用自己的配置启动速度的确是加快了,
我现在用的是emacs26.1, emacs27需要编译,太麻烦,还没使用过

试了一下, 减少了我0.2s :grinning:

Emacs启动时间其实都花费在package-initialize

貌似编辑不了很早之前的回帖,再加几个自己使用的一些packages

相关配置可参考
https://github.com/honmaple/dotfiles/blob/master/emacs.d/lisp/init-maple.el

2 个赞