Plugin de webpack y CLI que muestra el contenido de los bundles en un treemap interactivo con zoom para identificar qué módulos ocupan más espacio.
Zxilly/go-size-analyzer
Herramienta de línea de comandos que desglosa el tamaño de los binarios Go compilados por paquete, sección y símbolo, y genera informes en texto, JSON, HTML o SVG, además de una interfaz web y otra de terminal.
- Estrellas
- 2,195
- Forks
- 45
- Issues abiertos
- 9
- Último commit
- hace 3 días
¿Qué es?
go-size-analyzer responde a la pregunta de qué hace que un binario Go compilado sea grande. Analiza binarios ELF, Mach-O, PE y WebAssembly experimental, y atribuye su tamaño a los paquetes (incluida la biblioteca estándar y las dependencias vendorizadas) y a secciones del binario como .rodata, .gopclntab y los datos de depuración DWARF.
Los resultados se pueden mostrar en una tabla de texto, exportar como JSON, HTML o un treemap SVG, o explorar de forma interactiva mediante una interfaz web local o una UI de terminal. El modo diff compara dos binarios o dos resultados JSON guardados y muestra el crecimiento por paquete y sección, lo que resulta útil para seguir los cambios de tamaño entre versiones de Go o compilaciones.
La herramienta también se puede ejecutar en el navegador mediante una compilación WebAssembly, aunque allí es notablemente más lenta y solo se recomienda para binarios pequeños. El análisis de binarios stripped funciona, pero puede ser menos preciso.
Funciones clave
- 01Analiza binarios ELF, Mach-O, PE y WebAssembly experimental.
- 02Desglosa el tamaño por paquete, biblioteca estándar, dependencia vendorizada y sección.
- 03Genera informes en texto, JSON, HTML y treemap SVG.
- 04Ofrece una interfaz web interactiva y una UI de terminal.
- 05Compara dos binarios o resultados JSON guardados en modo diff.
Casos de uso
- Encontrar qué dependencias aumentan el tamaño de un binario Go de servicio o CLI.
- Seguir los cambios de tamaño de los binarios entre versiones de la cadena de herramientas de Go o commits.
- Compartir por red con el equipo un treemap interactivo del tamaño de una compilación.
- Comprobar si las secciones de depuración o los símbolos representan una parte importante del binario de lanzamiento.
Inicio rápido
- 1
Instalar con Go
go install github.com/Zxilly/go-size-analyzer/cmd/gsa@latest - 2
Iniciar la interfaz web con un binario de Go compilado
gsa --web golang-compiled-binary
Antes de usarlo
- Está bajo la licencia copyleft AGPL-3.0, que exige compartir el código fuente modificado cuando se ofrece a través de una red.
- Para compilar desde el código fuente se necesita Go 1.27 o posterior.
- El análisis de binarios sin símbolos puede ser impreciso.
- La versión WebAssembly en el navegador es mucho más lenta que la versión nativa.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es go-size-analyzer?
- Herramienta de línea de comandos que desglosa el tamaño de los binarios Go compilados por paquete, sección y símbolo, y genera informes en texto, JSON, HTML o SVG, además de una interfaz web y otra de terminal. go-size-analyzer responde a la pregunta de qué hace que un binario Go compilado sea grande. Analiza binarios ELF, Mach-O, PE y WebAssembly experimental, y atribuye su tamaño a los paquetes (incluida la biblioteca estándar y las dependencias vendorizadas) y a secciones del binario como .rodata, .gopclntab y los datos de depuración DWARF.
- ¿go-size-analyzer es gratuito? ¿Qué licencia tiene?
- go-size-analyzer es open source bajo la licencia AGPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿go-size-analyzer sigue mantenido?
- Mantenimiento activo. El último commit de go-size-analyzer fue el 4 nov 2026.
- ¿Para qué puedo usar go-size-analyzer?
- Encontrar qué dependencias aumentan el tamaño de un binario Go de servicio o CLI. Seguir los cambios de tamaño de los binarios entre versiones de la cadena de herramientas de Go o commits. Compartir por red con el equipo un treemap interactivo del tamaño de una compilación. Comprobar si las secciones de depuración o los símbolos representan una parte importante del binario de lanzamiento.
- ¿Cómo se instala go-size-analyzer?
- Instalar con Go: go install github.com/Zxilly/go-size-analyzer/cmd/gsa@latest Iniciar la interfaz web con un binario de Go compilado: gsa --web golang-compiled-binary
- ¿Dónde consigo go-size-analyzer?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Zxilly/go-size-analyzer
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Editor hexadecimal multiplataforma para ingeniería inversa y análisis binario, con un lenguaje de patrones para interpretar estructuras de archivos.
Herramienta de línea de comandos y lenguaje de consulta al estilo de jq para inspeccionar y consultar formatos de archivos binarios, con decodificadores para decenas de formatos.
Analizador interactivo de espacio en disco para terminal que explora directorios, encuentra qué ocupa espacio y permite eliminarlo desde la TUI.
CLI de código abierto para macOS (mo) para limpieza profunda, desinstalación de apps, análisis de disco, mantenimiento y estado del sistema en tiempo real, con una app nativa de Mac aparte.
Una herramienta CLI para crear binarios de PHP independientes, sin dependencias y con las extensiones elegidas, para Linux, macOS y Windows.