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

Support compression #2

Open
clue opened this issue May 1, 2015 · 2 comments
Open

Support compression #2

clue opened this issue May 1, 2015 · 2 comments

Comments

@clue
Copy link
Owner

clue commented May 1, 2015

No description provided.

@clue
Copy link
Owner Author

clue commented May 30, 2018

Small progress update :shipit:

Legacy protocol uses ZLIB encoded data for each message as per clue/reactphp-zlib#16 and is rather straight-forward.

DataStream protocol uses a streaming ZLIB compression on the message stream as per https://github.com/quassel/quassel/blob/68878dc8366f2f4a0afe132847aad9a51a80cdbf/src/common/compressor.cpp#L239 and https://github.com/quassel/quassel/blob/68878dc8366f2f4a0afe132847aad9a51a80cdbf/src/common/remotepeer.cpp#L265.

The legacy compression is ready, but the protocol is hardly in use today. The newer DataStream protocol depends on a streaming ZLIB compressor first, so we'll need to address clue/reactphp-zlib#4 first.

@clue
Copy link
Owner Author

clue commented Nov 25, 2019

Just a quick dump to show what kind of impact this had back when I looked into this:

uncompressed legacy: 1407823 bytes (~66s)
compressed legacy: 125462 bytes (~3s)

uncompressed datastream: 589873 bytes (~10s)
compressed datastream: unknown, but estimated to be < 100 KB

These numbers were measured a while back for only the initial handshake and network sync. The times were measured before introducing #26, so I do not expect such a significant change except for transfer times anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant