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 ZstdCompressor #180

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

Add ZstdCompressor #180

wants to merge 2 commits into from

Conversation

nhz2
Copy link
Member

@nhz2 nhz2 commented Mar 7, 2025

Alternative to #149

This implementation supports multithreaded compression and decompression, and also supports the checksum option.

ChunkCodecLibZstd is being added as a direct dependency instead of a package extension, because Zarr.jl already depends on zstd through blosc.

One thing to note is that ChunkCodecLibZstd needs Julia 1.11, and
the ChunkCodec API is still experimental. Any suggestions for improving the API would be helpful.

@coveralls
Copy link

coveralls commented Mar 7, 2025

Pull Request Test Coverage Report for Build 13728762244

Details

  • 4 of 16 (25.0%) changed or added relevant lines in 1 file are covered.
  • 8 unchanged lines in 7 files lost coverage.
  • Overall coverage decreased (-0.8%) to 85.223%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/Compressors/zstd.jl 4 16 25.0%
Files with Coverage Reduction New Missed Lines %
src/Compressors/blosc.jl 1 89.47%
src/Compressors/Compressors.jl 1 84.0%
src/Compressors/zlib.jl 1 90.91%
src/Storage/dictstore.jl 1 96.15%
src/Storage/Storage.jl 1 77.92%
src/ZArray.jl 1 94.23%
src/metadata.jl 2 77.65%
Totals Coverage Status
Change from base Build 13680422725: -0.8%
Covered Lines: 917
Relevant Lines: 1076

💛 - Coveralls

@bjarthur
Copy link
Member

bjarthur commented Mar 13, 2025

very much looking forward to both Zstd and the multithreading it brings. are there tests we could add to this PR to ensure it is thread safe?

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.

3 participants