-
Notifications
You must be signed in to change notification settings - Fork 30k
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
double JSON.stringify/parse when talking to extension host process #2088
Comments
unsure if this @alexandrudima or @bpasero |
@alexandrudima please reassign if @bpasero is the author of this code. |
I think we are doing more than just JSON.stringify/parse though, there is code that knows how to marshall classes. |
yes, but marshalling is not serialising https://github.com/Microsoft/vscode/blob/master/src/vs/base/common/marshalling.ts#L119 |
I was doing the extra JSON stringify/parse intentionally back when the extension host was using electron's IPC which had bugs around serializing the same object twice. e.g.:
it would arrive on the other side as But I think this is no longer mandatory given @bpasero 's refactoring it to a forked process. |
@alexandrudima I am not feeling comfortable making any changes to marshalling.ts, I did not touch this when I created the forked process. please go ahead and see what happens when you just take out the serialization. |
I'll take on the challenge |
🍦 |
Thanks! ❤️ |
the default IPC mechanism in nodejs already does JSON.stringify and JSON.parse before sending and after receiving messages. Maybe we gain a little bit of performance we don't do right before/after.
The text was updated successfully, but these errors were encountered: