Skip to content
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

Compress protobuf messages using brotli #1021

Closed
joshua-spacetime opened this issue Mar 25, 2024 · 0 comments · Fixed by #1026
Closed

Compress protobuf messages using brotli #1021

joshua-spacetime opened this issue Mar 25, 2024 · 0 comments · Fixed by #1026
Assignees

Comments

@joshua-spacetime
Copy link
Collaborator

joshua-spacetime commented Mar 25, 2024

SubscriptionUpdateMessages have the potential to be orders of magnitude larger than TransactionUpdateMessages and could benefit from compression to reduce network latency. We should use compression level 1 (fastest).

Update(3-26-2024): We are going to compress all protobuf messages and measure the performance.

@joshua-spacetime joshua-spacetime changed the title Compress subscription update messages Compress subscription update messages using zstd Mar 25, 2024
@joshua-spacetime joshua-spacetime changed the title Compress subscription update messages using zstd Compress subscription update messages using brotli Mar 26, 2024
joshua-spacetime added a commit that referenced this issue Mar 26, 2024
Closes #1021.

Subscription update messages can be quite large.
As such they can benefit a great deal from compression.

Unfortunately tungstenite does not support compression,
so we add support for it here separately.

We chose Brotli for its universal support,
and its better compression ration compared to gzip.
@gefjon gefjon self-assigned this Mar 26, 2024
@joshua-spacetime joshua-spacetime changed the title Compress subscription update messages using brotli Compress protobuf messages using brotli Mar 26, 2024
@joshua-spacetime joshua-spacetime linked a pull request Mar 26, 2024 that will close this issue
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants