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

Parallel compression? #26

Open
mitar opened this issue Jan 18, 2022 · 4 comments
Open

Parallel compression? #26

mitar opened this issue Jan 18, 2022 · 4 comments

Comments

@mitar
Copy link
Contributor

mitar commented Jan 18, 2022

What about support for parallel compression for bzip2?

@cosnicolaou
Copy link
Owner

the linux pbzip2 utility already supports parallel compression/decompression using multiple streams. I created this package to deal with the case when pbzip2 is not used and there is a single large stream. This turns out to be the common case for downloads since most people don't think to use pbzip2. Another snag is that the go standard library lacks a bzip2 compressor and there seems to be no urgency to adding one. All in all I personally don't have any plans to work on this in the immediate or mid term future. Is your use case for minio or something else?

@mitar
Copy link
Contributor Author

mitar commented Jan 20, 2022

The issue is that it would be nice to be able to generate bzip2 using Go itself, not using an external tool (e.g., if you are producing data using Go itself). Ideally in parallel way.

No, I am not affiliated with minio. I am working on some Wikidata/Wikipedia data processing.

@cosnicolaou
Copy link
Owner

I see, unfortunately there don't appear to be any native golang implementations of bzip2 and little prospect of one appearing in the standard library any time soon judging by this: golang/go#4828. There is this https://github.com/larzconwell/bzip2 but I've not looked at it to know if it's usable or not.

@klauspost
Copy link
Collaborator

https://github.com/dsnet/compress/tree/master/bzip2 also implements a writer.

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

No branches or pull requests

3 participants