一起聊一聊emacs27?

Check the benchmarks here - Speedup lsp-mode's JSONRPC processing (~2 times) · emacs-lsp/lsp-mode@2fc61a9 · GitHub - be most efficient way to concatenate strings is to call concat one time.

@yyoncho Sounds good! But @taigacute mentioned Vim coc is much more smooth than lsp-mode. Did you investigate it?

IME lsp-mode performance is comparable with vscode one when properly configured so without detailed information what is slow I cannot investigate. There were several performance reports recently and all of them were user misconfigurations.

As a side note, for some scenarios we cannot be as fast as coc vim. For example, in JS case AFAIK coc.vim is talking directly to tsserver while we are talking to a tsserver wrapper.

为什么手册中找不到read-process-output-max 这个变量的说明,特意又翻了一遍process部分还是没找到,之前就感觉应该有调整temp buffer的变量没找到,以为emacs给写死了

代码里面搜 read_process_output_max 这个。emacs27以后新增,

** New variable 'read-process-output-max' controls sub-process throughput.
This variable determines how many bytes can be read from a sub-process
in one read operation.  The default, 4096 bytes, was previously a
hard-coded constant.  Setting it to a larger value might enhance
throughput of reading from sub-processes that produces vast
(megabytes) amounts of data in one go.

windows里的neovim+coc.vim+gopls打开go的代码,真是快得不得了。emacs 27+lsp-mode+gopls特别慢,还经常跳转了几个go文件后,报错找不到package。唉。差距好大。

大概是他们改了之后还没在manual里写上。

看你提示才在新闻里看到,手册不知道为啥不更新,这个变量之前是常量,27才改成变量

这个有可能是windows操作系统下,本身emacs就有点慢。 在linux上试过速度吗?

In case someone wants to test, here it is a docker image containing emacs compiled with Elisp Native compilation (which is in a emacs 28 feature branch): Docker It is very likely that the emacs in the docker container will outperform the emacs running in the host.

8 个赞

今天在Windows 10 上安装了 Emacs 27.0.90, 发现没法自动下载带有cl(Common-lisp)的包。 如果加载包含有依赖cl的包,会提示 Package cl is deprecated。 难道emacs 27 不再支持了cl了?

In NEWS.27

** The 'cl' package is now officially deprecated in favor of 'cl-lib'.

cl was replaced by cl-lib since 24.3. Subroutines in cl-lib have cl- prefix(unlike cl.el)

1 个赞

看来要通知包的原作者进行更新了,有一些比较老的包还是用的cl。