-
Notifications
You must be signed in to change notification settings - Fork 170
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
Change default backend to zlib-rs
instead
#469
Comments
I think very uncontested approach could be a documentation update, both in the README as well as in the crate, to advertise As for switching the default backend, that's a big step and I can't predict if it's the right choice. To me it's about compatibility more than it is about performance - if I'd know that But that one will only know once it's too late. In theory, |
Makes sense. I will update the README first. |
The compression behaviour and safety guarantees are not the same between the two - whether those differences would be acceptable in a major version bump is something you would have to decide I guess:
Something I think we can at least consider is to drop the zlib-ng backend (and proxy the zlib-ng feature to zlib-rs) provided zlib-rs implement all the features of it since the two should then be basically equivalent. Not quite sure about the cloudflare-zlib one since it's not strictly equivalent to zlib-ng though it is much less used and has much limited platform support compared to other backends so maybe it could be okay to deprecate that too in favour of zlib-rs even though it isn't strictly the same just to simplify things. |
Thanks a million for chiming in! I found the comment very insightful.
Maintaining it thus far has been easy enough, and I think having both available is still valuable. However, I wouldn't rule out that in the far future there truly is no need for the C-implementation anymore.
That seems more interesting to me, but probably for the wrong reasons. I can't really tell what the cloudflare version is good for in the light of zlib-ng and zlib-rs. It also seems far less active. Then again, this makes maintenance even easier, so it seems like an option to keep around as well even if just for the sake of it. |
I see no problem with keeping If we do need to drop support for either backend we should not proxy the feature to another backend. It must be clear to callers that we have dropped support and that they will need to select another backend. |
Hi, I'm starting this thread to discuss whether it would be a good idea to switch the default backend to
zlib-rs
, as it outperforms bothzlib-ng
andminiz_oxide
.Or at the very least, we can mention this in our README and revise any statements referring to a purely Rust backend.
I'm willing to perform this change.
The text was updated successfully, but these errors were encountered: