Binary inter process communication (IPC) #170
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@joaompneves I have created a fork and the branch with our changes. We would be very pleased if you would give us your opinion on the change. Additionally it would be nice to be able to contribute the branch as an extension to the CefGlue repository.
A good starting point is the PerformanceTests.cs in CefGlue.Tests
The test shows the difference in performance between a json and a binary serializer.
Which serializer should be used can be configured in the RegisterJavascriptObject method. By default, the serializer is still set to Json.
This is the signature of the method:
Here some examples how to use it:
If you are interested what MessagePack is and how MessagePack works, look here: https://msgpack.org/
Here is the original message:
Together with my colleagues we want to introduce an alternative binary serializer for the CefGlue library. The serializer can optionally be changed for communication between client and browser. By default, the serializer is still set to Json, but if there is a need to use a faster binary serialisiert, the user can change to use MessagePack for serialization. If large amounts of data has to be transferred, the serializer can be set to MsgPack. Depending on the data size, the transmission performance increases by a factor of 10+.
@rrattke FYI