GNU bug report logs - #69241
[PATCH] Jsonrpc: improve performance of process filter function

Previous Next

Package: emacs;

Reported by: Daniel Pettersson <daniel <at> dpettersson.net>

Date: Sun, 18 Feb 2024 18:25:07 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Daniel Pettersson <daniel <at> dpettersson.net>
To: João Távora <joaotavora <at> gmail.com>
Cc: 69241 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: bug#69241: Fixed patch issues
Date: Sun, 10 Mar 2024 15:28:21 +0100
João Távora <joaotavora <at> gmail.com> writes:

> From where I stand, Daniel Pettersson is the new Jsonrpc maintainer.  I'd give
> him push rights so he can install this and push any follow-up fixes easily.

As I have previously stated I am willing to take on the maintainer role
for Jsonrpc.  

> +           ;; `timer-activate' orders timers by time, which is an
> +           ;; very expensive operation when jsonrpc-mqueue is large,
> +           ;; therefore the time object is reused for each timer
> +           ;; created.

I am interested in what both of you think about relying on undocumented
behavior.

To grasp the scope of this issue, an adapter server sent 50 000
messages. With `read-process-output-max' set to the platforms max, each
of those messages where placed on `timer-list' in the same call to
jsonrpc's filter function, which then had to be sorted as O(N^2)
(calls to timer--time-less-p). 

Which makes Jsonrpc unusable for that particular server.




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

Previous Next


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