-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving internal benchmarks #3
Comments
Thanks for your suggestions. I've made a few improvements since then.
Now there are simple loggings. d3b9c98. Run with
As you already seen, now there's a
This, indeed, is not trivial to do. Also I don't think this would provide accurate benchmark result for comparison. If we really want to do that, I guess we can (for both json data in "passthrough" mode, or bytecode data in normal mode):
This would require modifications in both wrapper and elisp sides. Personally I'm not that into this benchmark idea though. For example, the "emacs may be blocked while sending data" issue that this program solves cannot be easily measured. So I think the overall improvements cannot be benchmarked anyway. |
Thanks for these updates.
Good thoughts. Re "emacs may be blocked while sending data", you could also do the reverse: tag Then users would use their client with and without But I agree this is not really required. People can use the wrapper or not based on their experiences. The only advantage to having such benchmark data would be if you ever envisioned getting builtin support inside lsp-mode and eglot; to make that case, real usage benchmarks would likely be required. Maybe something for down the road. Feel free to close. |
It would be nice if the
emacs-lsp-booster
process could optionally log some of its own benchmarks, e.g. if a--benchmark
flag is passed, or with a special build flag (maybe the dev build?... not a rust person). The obvious things to log are:Then perhaps a
--passthrough
flag or build option can be implemented, which does nothing to the JSON, but just passes it on as-is (obviously removing the json-read-buffer override on the Emacs side). This would be just for equivalent logging.Then we could generate two logs (with and without
--passthrough
). These two results could be compared for a given lsp server, to see how much time it takes (per byte) on average for emacs to read in the data via JSON vs. via bytecode.The text was updated successfully, but these errors were encountered: