Subject: bug#38807: [Feature request]: Support lisp workers like web workers.

From: Ivan Yonchovski <[email-masked]>
Date: Wed, 25 Mar 2020 18:44:44 +0200

HaiJun Zhang writes:

>> > If json messages are parsed in module thread and saved as c struct data(not lisp data), they have to be
>> > translated to lisp data before emacs use. The translation which should be done in emacs thread cost too
>> > much cpu, which make the parallel parsing of json messages not very useful.
>>
>> You are saying that the translation is costly, but did someone
>> actually measure that and verify that it's indeed costly? And if
>> someone did, where can I see the results in sufficient level of detail
>> to understand what part(s) of parsing JSON are the bottleneck?
>>
>
> I have talked with the author of lsp-mode. I think their team have done some work on this.
> @yyoncho Can you join the discussion?

IIRC the bottleneck was the utf conversions (there was similar issue in
native json parsing as well). I havent tested the dynamic module parser
after the latest optimizations. Back then I tested also with the
conversion code disabled and it still was relatively slow compared to
the native json parsing even before the native joson parsing fixes.

HaiJun Zhang, it will be good if you can report the performance issues
you have with lsp-mode. You may follow the guide in the
https://github.com/emacs-lsp/lsp-mode#performance .

Thanks,
Ivan