GNU bug report logs - #65760
29.1; eglot performance issue

Previous Next

Package: emacs;

Reported by: Глеб Смирнов <glebsmirnov0708 <at> gmail.com>

Date: Tue, 5 Sep 2023 15:25:01 UTC

Severity: normal

Found in version 29.1

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: João Távora <joaotavora <at> gmail.com>
Cc: glebsmirnov0708 <at> gmail.com, ivan-p-sokolov <at> ya.ru, 65760 <at> debbugs.gnu.org
Subject: bug#65760: 29.1; eglot performance issue
Date: Tue, 05 Sep 2023 19:25:28 +0300
Adding João.

> Cc: 65760 <at> debbugs.gnu.org, glebsmirnov0708 <at> gmail.com
> Date: Tue, 05 Sep 2023 19:22:15 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > Cc: 65760 <at> debbugs.gnu.org
> > From: Ivan Sokolov <ivan-p-sokolov <at> ya.ru>
> > Date: Tue, 05 Sep 2023 18:55:23 +0300
> > 
> > Глеб Смирнов <glebsmirnov0708 <at> gmail.com> writes:
> > 
> > > The problem is that running eglot with rust-analyzer on my project
> > > causes major input lag. Profiling shows that the problem is in
> > > synchronous and slow function jsonrpc--log-event that is called on each
> > > server request or response. Disabling this function with (advice-add
> > > 'jsonrpc--log-event :override #'ignore) solves the problem.
> > 
> > To be more precise the problem is that jsonrpc--log-event is pretty
> > printing every reply from the server and they can be quite large and
> > nested.  I am attaching Gleb's profiler report, as a screenshot, but
> > this should be enough to give a better understanding of the problem.
> 
> Yes, the real CPU eater is pp-buffer.
> 
> But I also see that jsonrpc-request took a substantial amount of CPU
> time, and since jsonrpc-request runs from a timer, it is a good
> candidate for explaining a perceived lag.
> 
> Can you tell if this profile was in an Emacs build with built-in JSON
> support, or was Emacs using the Lisp implementation on json.el?
> 
> 
> 
> 




This bug report was last modified 1 year and 340 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.