看来是我的机器性能不太好,所以我才一直在意用不用 icon 这个问题。。在我这里 doom-mode-line 是 1.5ms 的样子。我也是 Emacs 28 native-comp
我之前也一直对all-the-icons性能有怀疑,事实证明本身有缓存机制,性能还行,唯一影响的就是gc。把gc threshold 调大一点就没啥问题了。在dired中使用all-the-icons-dired,如果文件不上千,没感觉到多大延迟的。当然不用肯定是性能最好的,就看个人取舍。
BTW,我使用MacBook Pro 2015 13’ 和 2019 15’。
“0.000151s”
请问您用的什么字体和 theme 哈?
all-the-icons 内部有缓存机制吗? 我看把icon disable后modeline format function的速度提升还是挺明显的
all-the-icons 用了memoize 库
不确认,不过memoize中确实有timer使用。
跑个题,有什么办法可以在文件夹数量特别多的地方自动提前禁用 all-the-icons-dired 吗?我现在就只能以黑名单的方式,碰上一个加一个。
Centaur Emacs 里有这个实现:
能提供一段代码演示一下这个问题吗?我的好像没看到闪
(eval (progn
(setq resize-mini-windows t)
(setq mini-modeline-truncate-p nil)
(run-at-time 0.3 nil (lambda () (message "abc")))
(run-at-time 0.6 nil (lambda () (message "abcd")))
(run-at-time 0.9 nil (lambda () (message "abcde")))))
跑个提我,有没什么 mode line 配置推荐?现在用 doom mode line 有点看腻了。。。推荐个轻量的。。
我用他默认的配置就会有这样的问题。比如你按住下把光标拉到底部。message 会不断的输入 end of buffer,这个时候右边就会闪。
哇 好像你也用的i3
嗯嗯 不过这个不太影响使用
是啊,我是用 i3 的。
在我的r53500的本子上 emacs-pgtk doom-modeline
开启图标0.000894s
关闭图标0.000532s
很奇怪好像比楼上快很多,刚用没几天,暂时没感觉到过什么卡顿
刚发现我是手动安装的没有编译成elc,编译成elc现在是开启图标0.000504s
关闭图标0.000472s
用楼主的方法测100000次的平均值是 0.000346,用的 doom-modeline
(defmacro +measure-time (&rest body)
"Measure the time it takes to evaluate BODY."
`(let ((time (current-time)))
,@body
(float-time (time-since time))))
(let ((sum 0.0)
(n 100000))
(dotimes (x n)
(setq sum (+ sum (+measure-time (format-mode-line mode-line-format)))))
(message "%.06f" (/ sum n)))
但是感觉这项测试意义不大,因为都是在 scratch buffer (emacs lisp mode),我怀疑如果在项目目录下的其它mode比如python mode下测,数值会大很多。