Renyddd Site
Created: 15 Aug 2023

Emacs profiler

Emacs 升级到 29.1 版本后在结合 eglot 使用时有明显的卡顿感, 故尝试通过 profiler 能力解决.

采样

首先启动 profilers, 可先仅选择 CPU 采样:

M-x profiler-start

再切换会工作内容正常使用一段时间后, 关闭并汇报结果:

M-x profiler-stop
M-x profiler-report

分析

在我的结果当中 jsonrpc--log-event 是无法忽略的一项, 同时在 Emacs-China 上也有关于它的性能讨论.

profiler1.png

eglot 加载中执行关闭:

(setq eglot-events-buffer-size 0)

重启后已无卡顿感, 再次采样分析也再无异常调用:

profiler_post.png
Creative Commons License
renyddd by Renyddd is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.