Plugin e CLI para webpack que mostram o conteúdo dos bundles em um treemap interativo com zoom, destacando os módulos que ocupam mais espaço.
Zxilly/go-size-analyzer
Ferramenta de linha de comando que detalha o tamanho de binários Go compilados por pacote, seção e símbolo, com saída em texto, JSON, HTML, SVG, web e interface de terminal.
- Estrelas
- 2,194
- Forks
- 45
- Issues abertas
- 9
- Último commit
- anteontem
O que é?
go-size-analyzer responde à pergunta sobre o que deixa um binário Go compilado grande. A ferramenta analisa binários ELF, Mach-O, PE e WebAssembly experimental e atribui o tamanho a pacotes (incluindo a biblioteca padrão e dependências vendorizadas) e a seções do binário, como .rodata, .gopclntab e dados de depuração DWARF.
Os resultados podem ser exibidos em uma tabela de texto, exportados como JSON, HTML ou treemap SVG, ou explorados de forma interativa por uma interface web local ou uma interface de terminal. O modo diff compara dois binários ou dois resultados JSON salvos e mostra o crescimento por pacote e por seção, o que é útil para acompanhar mudanças de tamanho entre versões do Go ou builds.
A ferramenta também pode ser executada no navegador por meio de um build WebAssembly, embora seja perceptivelmente mais lenta nesse ambiente e seja recomendada apenas para binários menores. A análise de binários sem símbolos de depuração funciona, mas pode ser menos precisa.
Recursos principais
- 01Analisa binários ELF, Mach-O, PE e WebAssembly experimental.
- 02Detalha o tamanho por pacote, biblioteca padrão, dependência vendorizada e seção.
- 03Gera relatórios em texto, JSON, HTML e treemap SVG.
- 04Oferece uma interface web interativa e uma interface de terminal.
- 05Compara dois binários ou resultados JSON salvos no modo diff.
Casos de uso
- Descobrir quais dependências aumentam o tamanho de um binário Go de serviço ou CLI.
- Acompanhar mudanças no tamanho do binário entre versões do toolchain Go ou commits.
- Compartilhar pela rede com colegas um treemap interativo do tamanho de um build.
- Verificar se as seções de depuração ou os símbolos representam uma parte significativa de um binário de release.
Início rápido
- 1
Instalar com Go
go install github.com/Zxilly/go-size-analyzer/cmd/gsa@latest - 2
Iniciar a interface web com um binário Go compilado
gsa --web golang-compiled-binary
Antes de usar
- É licenciado sob a AGPL-3.0, uma licença copyleft que exige o compartilhamento do código-fonte modificado quando o software é disponibilizado por uma rede.
- Para compilar a partir do código-fonte, é necessário ter o Go 1.27 ou posterior.
- A análise de binários sem símbolos pode ser imprecisa.
- A versão WebAssembly no navegador é muito mais lenta que a versão nativa.
Em coleções
Tópicos
Perguntas frequentes
- O que é go-size-analyzer?
- Ferramenta de linha de comando que detalha o tamanho de binários Go compilados por pacote, seção e símbolo, com saída em texto, JSON, HTML, SVG, web e interface de terminal. go-size-analyzer responde à pergunta sobre o que deixa um binário Go compilado grande. A ferramenta analisa binários ELF, Mach-O, PE e WebAssembly experimental e atribui o tamanho a pacotes (incluindo a biblioteca padrão e dependências vendorizadas) e a seções do binário, como .rodata, .gopclntab e dados de depuração DWARF.
- go-size-analyzer é gratuito? Qual é a licença?
- go-size-analyzer é open source sob a licença AGPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- go-size-analyzer ainda é mantido?
- Manutenção ativa. O último commit de go-size-analyzer foi em 4 de nov. de 2026.
- Para que posso usar go-size-analyzer?
- Descobrir quais dependências aumentam o tamanho de um binário Go de serviço ou CLI. Acompanhar mudanças no tamanho do binário entre versões do toolchain Go ou commits. Compartilhar pela rede com colegas um treemap interativo do tamanho de um build. Verificar se as seções de depuração ou os símbolos representam uma parte significativa de um binário de release.
- Como instalar go-size-analyzer?
- Instalar com Go: go install github.com/Zxilly/go-size-analyzer/cmd/gsa@latest Iniciar a interface web com um binário Go compilado: gsa --web golang-compiled-binary
- Onde consigo go-size-analyzer?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Zxilly/go-size-analyzer
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Editor hexadecimal multiplataforma para engenharia reversa e análise de arquivos binários, com uma linguagem de padrões para interpretar estruturas de arquivos.
Analisador interativo de espaço em disco no terminal que examina diretórios, encontra o que está ocupando espaço e permite excluir os itens pela TUI.
Uma ferramenta de linha de comando e linguagem de consulta no estilo jq para inspecionar e consultar formatos de arquivos binários, com decodificadores para dezenas de formatos.
CLI open source para macOS (`mo`) que faz limpeza profunda, desinstala apps, analisa o disco, executa tarefas de manutenção e mostra o status do sistema em tempo real; há também um app nativo para Mac separado.
Ferramenta CLI que cria binários PHP independentes, sem dependências, com as extensões escolhidas para Linux, macOS e Windows.