-
Notifications
You must be signed in to change notification settings - Fork 326
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
Investigate transfer of Suggestion DB to IDE as binary not as JSON #5570
Comments
Working on #5698 I find out that the transfer of suggestion DB is actually happening in binary channel:
Debugging confirms the expectation. The data seem to be sent as binary. |
Thanks @farmaazon - there is double serialization/deserialization inside of single(!) LS/engine process - maybe I got confused by that. |
@JaroslavTulach I fully agree. All data should be in a binary format, minimized, and as small as possible. |
Summary
Would it be more effective to transfer suggestion DB (tracked as #5068) & co. as binary, not as JSON? That's a question asked by startup performance measurements as of Feb 6, 2023.
Value
Can we speed things up by not sending JSON, but binary data? For example the suggestion DB (tracked as #5068) could be sent as binary. The drawback is that the IDE would have to be modified to accept the protocol change. Sticking to JSON allows us to modify just the engine part.
Specification
Prototype sending the suggestion DB as binary, not as JSON.
Acceptance Criteria & Test Cases
Related
Suggestion
list is encoded into binary JSON, sent from engine torunner.jar
, deserialized, converted to other data structure, serialized into JSON and then sent to the IDE. Unless the multiple serialization/deserialization is eliminated it makes little sense to think about changing the form of transfer.The text was updated successfully, but these errors were encountered: