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

Strip release binaries #14126

Open
szepeviktor opened this issue Mar 23, 2020 · 6 comments
Open

Strip release binaries #14126

szepeviktor opened this issue Mar 23, 2020 · 6 comments
Labels
Bug Report/Open Bug report/issue

Comments

@szepeviktor
Copy link

Releases on releases.mattermost.com contain not stripped binaries.

Please consider going from 50MB -> 38MB in case of mattermost
Thank you.

@amyblais
Copy link
Member

@szepeviktor Can you help share your use case and why you're hoping to see this change?

@szepeviktor
Copy link
Author

szepeviktor commented Mar 23, 2020

@amyblais Of course.

Not stripped binaries are BIG, taking up memory in vain,
stripped binaries are smaller.

@szepeviktor
Copy link
Author

szepeviktor commented Mar 23, 2020

"stripping" is a technical term, not equal to the English word.
It means removing debugging information which is necessary for... :) debugging.

So not stripped binaries go to developers and testers,
stripped ones into production.

@agnivade
Copy link
Member

@szepeviktor - Thanks for filing the issue. Reducing size is indeed important, but so is the ability to debug crashes in production. The tipping point would usually be when the difference in binary size is so big, that is dwarfs the need to be able to debug in production.

I just did some testing and the binary size just went down from 57MB to 43MB. Granted it's still 14MB, but I am curious to know how much of an impact is it making in your environment ? Is it something that you consider good to have ? Or you are actually facing performance issues with binary size ?

That being said, the Go runtime is becoming smarter every release and it has started to compress the debug symbols. And we have also started to make small changes like using the -trimpath flag to cut down from using full file paths.

There are these specific issues from the Go team golang/go#6853, golang/go#26379 which concerns reducing binary size if you are interested.

@szepeviktor
Copy link
Author

I see. QA is in my focus. So using QA tools in development could make debugging unnecessary!

Some highly popular binaries are 130 KB is size.

ls -l /bin/ls
-rwxr-xr-x 1 root root 130736 Feb 22  2017 /bin/ls

14 MB is 100×ls!!!

@szepeviktor
Copy link
Author

szepeviktor commented Mar 23, 2020

I give you my basic trio of zero-coverage tests I enforce at every client.

  1. syntax check
  2. coding standard
  3. static analysis

Go is Chinese to me, so these may be built-in or even impossible!

@amyblais amyblais added the Bug Report/Open Bug report/issue label Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report/Open Bug report/issue
Projects
None yet
Development

No branches or pull requests

3 participants