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

Experimenting with decompress #10

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Experimenting with decompress #10

wants to merge 2 commits into from

Conversation

hcarty
Copy link
Owner

@hcarty hcarty commented Apr 26, 2020

Early experiment using decompress instead of camlzip. Still very incomplete so this is draft PR.

Initial impressions:

  • Compression seems to be slower (not unexpected) and less space efficient (maybe unexpected?) than camlzip/zlib
  • Decompress's gzip support is easy to work with
  • It should be fairly straightforward to add bigstring/bigarray support to ezgzip

@dinosaure
Copy link

Compression seems to be slower

Note that the underlying LZ77 implementation used to compress is not the best as I can - but I don't have the time to focus on this part.

less space efficient (maybe unexpected?) than camlzip/zlib

I'm interesting about this feedback. By essence, it's sure that decompress is less space efficient than zlib where it needs to allocates OCaml values (which is, by definition, bigger than C data-structures used by zlib). However, I would like to know if memory consumption is stable for a large GZip flow or if decompress continuously allocates and do a pressure on the GC.

@dinosaure
Copy link

Just to revive a bit the PR, decompress.1.3.0 was out and it should be better about compression:

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

Successfully merging this pull request may close these issues.

2 participants