怎样 debug emacs 的 Performance Issue?关于 Ivy

我之前一直都想用 Ivy 的,但是有一个问题没有解决,所以就暂时搁置了。

就是下面这个问题:

如果快速按 SPC SPC,菜单空白,这个状态维持两秒左右。

如果 SPC SPC 中间稍微停顿一下,就会立即出现选单。

如果用 M-x, 选单也是立即出现的。

问题是怎样 debug 这种性能问题,困扰我好久了。

PS:我是在虚拟机中的 archlinux 下面用 spacemacs 的

我觉得这可能是因为 SPC SPC 的情况下, 第一次按 SPC 的时候,minibuffer 首先显示 which-key 选单,然后才切换为 ivy 选单,两者之间有冲突。但是 M-x 就不存在这一问题。但是不知道怎样解决这一问题。在速度快的电脑上问题可能会被掩盖,但是我这里就比较明显。

1 在设置文件中设定 which key delay 2 M-x 和 SPC SPC 可以设置不同命令。

刚才忘了说明了,不只是 SPC SPC,还有 SPC f f 和 SPC f r 等等,按快了都有这个问题

你是说 which-key-idle-delay 吗,我试了试,改大改小都没有用

那就关了换性能。:sweat_smile:

我已经在 spacemac 提交了issue,就看能不能有人知道怎么回事了。但是不抱太大希望,因为之前几个关于性能的 issue 都没有解决。

英语渣😂,大家帮忙挑挑毛病

要是能解决这个问题,我就可以放心地告别 helm,投入 Ivy 的怀抱了😂

我觉得并不是和电脑速度快慢有关。 因为在我的arm的chromebook上,这个算是很渣的CPU了吧,浏览器开重量级前端框架做的网页都卡。。。但是并没有你遇到的问题,ivy很流畅

1 个赞

感谢你的回复,我把我的几个自定义配置都禁用了,果然症状消失了。但是要debug这个有点困难

我用二分法试验了一下,好像是 fcitx.el 造成的。我的天,终于找到元凶了。

请问你使用 fcitx.el 了吗?

当然用了,不然输入法很蛋疼的说:joy:!我用的是chinese层,这个层带了配置好的fctix.el。你不会是自己配置的fctix.el吧?不如试下chinese层?

是的,我是自定义配置,我看一下有什么不同的

请问你是用的 master branch 还是develop

master,不敢用develop,怕出各种诡异问题。

好的,谢谢,我看看问题到底出在哪

chinese的配置:

我的配置:

我估计问题可能就出在 use-dbus 上面了

果然啊,崩溃了,这个到底是干什么用的,我当时也没有搞清楚就加进来了😭