Subject: bug#70036: a fix that

From: Eli Zaretskii <[email-masked]>
Date: Fri, 19 Apr 2024 09:45:15 +0300

> Date: Thu, 18 Apr 2024 23:32:00 +0200
> From: Theodor Thornhill <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>, [email-masked],
>  [email-masked]
> 
> I'll add two profiles, one is profile-fast and profile-slow. You can
> guess which is which :)
> 
> STEPS:
> I've made an intentionally broken commit into a golang repo I just
> forked, to get some publishDiagnostics quickly.
> 
> (for good measure evaluate eglot.el before running profiles)
> 
> 1. Install gopls
> 2. Make some directory you can wipe out after the test and cd into it
> 3. git clone [email-masked]:theothornhill/gin.git foo/bar/baz/foo/bar/baz/foo/bar/baz/foo/bar/baz/gin
> 4. cd foo/bar/baz/foo/bar/baz/foo/bar/baz/foo/bar/baz/gin
> 5. open fs.go in emacs and make sure some go mode is available. Go-ts-mode for example
> 6. M-x profiler-start
> 7. M-x eglot
> 8. Wait 10-20 seconds. Do no actions other than let the lsp settle.
> 9. M-x profiler-stop
> 10. M-x profiler-report
> 11. Rinse repeat with both or all variants of emacs with/without the
> latest eglot changes.
> I'll add my profiles, and let some metrics talk.

Thanks, but that is not what I asked to provide, for us to make a
decision in this case.  I asked to provide results of a benchmark-run
or similar measure of the run time.  Profiles, by contrast, are much
harder to interpret when the issue is the overall time it takes to
perform some operations.

Could you please show benchmark times of the old code (before your
changes), the code after your changes, and the current code in Git
(after João reverted your change and installed his own improvements)?
This will allow us to see the times (both processing and GC) of each
variant, and will allow to compare their performance.

Thanks.