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

Add support for switching the zlib implementation #9798

Open
1 task done
bdraco opened this issue Nov 11, 2024 · 4 comments
Open
1 task done

Add support for switching the zlib implementation #9798

bdraco opened this issue Nov 11, 2024 · 4 comments
Assignees
Milestone

Comments

@bdraco
Copy link
Member

bdraco commented Nov 11, 2024

Is your feature request related to a problem?

I'm currently maintaining https://github.com/bdraco/aiohttp-fast-zlib which allows swapping out the standard lib zlib for isal or zlib-ng since its a ~5x performance improvement

Describe the solution you'd like

Native support

Describe alternatives you've considered

n/a

Related component

Server

Additional context

No response

Code of Conduct

  • I agree to follow the aio-libs Code of Conduct
@bdraco bdraco self-assigned this Nov 11, 2024
@bdraco bdraco added this to the 3.12 milestone Nov 11, 2024
@Dreamsorcerer
Copy link
Member

I'd note that we do have downstreams that use zlib-ng as the default zlib library. We had a complaint that the zlib tests were failing in their environment, and it was because they were using zlib-ng and thus getting different binary representations.

Not against allowing different Python libraries though.

@bdraco
Copy link
Member Author

bdraco commented Nov 11, 2024

I recall seeing that. Do you happen to remember the issue where it was reported. It would be good to make sure the tests are adjusted to pass for isal, zlib, and zlib-ng

@bdraco
Copy link
Member Author

bdraco commented Nov 11, 2024

found #7255

@Dreamsorcerer
Copy link
Member

Yes, as I mentioned at that time, we should keep the binary tests as internal and add new tests which verify the decompressed results.

The binary tests are useful to tell if we've messed up the compression in our code (we had a PR which clearly broke the compression efficiency by restarting the compression on each line or something).

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

2 participants