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

Binary release compression formats #42438

Open
jfcg opened this issue Nov 7, 2020 · 1 comment
Open

Binary release compression formats #42438

jfcg opened this issue Nov 7, 2020 · 1 comment
Labels

Comments

@jfcg
Copy link

@jfcg jfcg commented Nov 7, 2020

.gz and .zip formats are quite behind .7z in terms of compression ratio. Extracted linux and windows 1.15.4 binary releases are compressed by %30+ more (default commandline, on Manjaro, p7zip 16.02-6 package):

tar xf go1.15.4.linux-amd64.tar.gz
7za a go-1.15.4.7z go
tar -cJf go-1.15.4.txz go
# etc.

ls -lh go*{gz,zip,7z,xz}
 81M Nov  7 13:27 go-1.15.4.7z
 84M Nov  8 00:15 go-1.15.4.txz
116M Nov  6 01:31 go1.15.4.linux-amd64.tar.gz

 90M Nov  7 14:06 go-1.15.4-win.7z
 92M Nov  8 00:16 go-1.15.4-win.txz
133M Nov  7 14:03 go1.15.4.windows-amd64.zip

7z is widely used & available on all platforms and provides %3 better compression than xz with default parameters. I propose to switch to it for all archive formats.
Thanks..

Note: Updated to add xz comparison.

@martisch
Copy link
Contributor

@martisch martisch commented Nov 7, 2020

I would suggest to not mix multiple proposals into a single issue but to create separate issues.
This allows to focus discussions on each issue and also aligns with the proposal process accepting proposals by labeling the whole issue.

While 7z may be available in general I think it is not in base installations of e.g. MacOS and Windows so this would introduce an additional dependency to bootstrap Go when switching away from gz or zip.

If choosing another compression algorithm or container format to reduce download size. Why is 7z preferable over e.g. xz which is used by other programming languages (pythong, zig, ...) that provide gz and xz but not 7z.

@jfcg jfcg changed the title Binary release compression formats & distribution Binary release compression formats Nov 7, 2020
@ALTree ALTree added the NeedsDecision label Nov 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants