来比比你们的 emacs 的启动速度

gtk前端

*** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
ELISP> (emacs-init-time)
"0.772586 seconds"

终端

*** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
ELISP> (emacs-init-time)
"0.505946 seconds"

ArchWSL2

(emacs-init-time) ; "3.178960 seconds"
(emacs-init-time)
"0.983611 seconds"
d:/Emacs/bin $ (emacs-init-time)
42.800530 seconds

不过现在一天只开一次,也不关闭,感觉还好了

macOS 15.0.1,i7 8700T/48GB 2666Mhz DDR4/1TB nvme SSD,emacs igc分支,0.676109 seconds

(add-hook 'window-setup-hook #'(lambda () (setq my-init-time (float-time (time-subtract (current-time) before-init-time)))))

 d:/devtools/emacs/bin % emacs-init-time
0.900973 seconds
 d:/devtools/emacs/bin % my-init-time
1.443524

再次强调: emacs-init-time 是精神胜利法

1 个赞

低于一秒的还是不要发了,对 Emacs 形象影响不好 :dog:

目前最高记录 376.992s

什么?当然是比谁的启动速度更慢啊

7 个赞

用 time 去测试比较准确一点,emacs-init 不会计算 UI 的时间,可以看看 emacs 的启动顺序,论坛里有。

time emacs -q -e kill-emacs
time emacs -e kill-emacs
1 个赞

对于我的设置来说,init time 几乎和实际的启动时间差不多

但这是在使用了 emacs -q -l /path/to/init 的情况之下

现在的配置在 after init 之后还有莫名其妙的非常长的加载时间,现在还不知道该怎么 debug。但总之如果有人觉得 init time 很不准的话可以测试一下 emacs -q -l /path/to/init 的时间

反正在直接运行 emacs 的情况下,最高记录是 300s 或者以上。

debug init 然后在卡的时候疯狂 C-g

1 个赞

90 多秒吧,因为第一次启动要用 straight 装包。straight 装包是同步而且顺序执行的。

然后?然后当然就一直挂在服务器上永远不关了呀。

建议大家比一下 emacs-up-time 而不是比较 emacs-init-time。

emacs-up-time 长意味着:

  1. 你用来配置的单位时间带来的生产力更高。
  2. 你花更少的时间在 tweak 你的配置上。(大部分时候配置要生效需要重启)。
1 个赞

笑到我了 :joy:

在公司服务器上我的 emacs-up-time 轻轻松松一个月,因为公司服务器不通外网,所以用的包也从来不升级。平时就在一个项目树上工作,从来不关emacs。

折腾emacs配置提升生产力是个伪命题。比较复杂的字符串处理大不了自己撸个parser,用其它语言的框架也可以做。也就仅限于一些函数式语言的开发,emacs是唯一指定ide提供classical plus plus的lisp repl。

花大量时间折腾配置分明是开发elisp周边上瘾了,特别是org editor这个巨坑,我不止一次给别人安利M$家的onenote,除了坚守mac阵地的那些。

1 个赞

比较好奇doom的计时是怎么记的

*** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
ELISP> (emacs-init-time)
"0.899757 seconds"

ELISP> doom-init-time
2.190317938

去看源码啊,ELisp很好读吧🤔

(add-hook 'window-setup-hook
          (defun toki/calc-init-time ()
            (setq toki-init-time
                  (float-time (time-subtract (current-time)
                                             before-init-time)))))
toki-init-time
;; => 0.242601514
(emacs-version)
;; => "GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2)"
(display-graphic-p)
;; => t

;; 我没有在 window-setup-hook 里放其他东西
window-setup-hook
;; => (toki/calc-init-time)

换了新电脑

-Q -nw

Screenshot 2024-11-12 at 12.46.34 PM

-nw

Screenshot 2024-11-12 at 12.47.00 PM

gui

6 个赞

这是啥配置?

M4 max