awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/bloaty

0
View on GitHub↗
5,488 stars·373 forks·C++·Apache-2.0·16 views

Bloaty

Bloaty is a binary size profiler and executable format analyzer that attributes every byte of a binary to specific symbols or compile units. It functions as a compilation unit profiler and C++ symbol demangler, mapping binary size back to source files and translating mangled names into human-readable formats.

The project distinguishes itself as a binary diffing tool capable of comparing two versions of a binary to isolate specific symbols or sections responsible for size regressions. It provides specialized support for recovering symbols in stripped binaries by associating them with external debug files using build identifiers.

The tool provides comprehensive binary analysis for ELF, Mach-O, PE/COFF, and WebAssembly formats. Its capabilities include analyzing linker sections, memory segments, and static library archives, as well as identifying space consumed by inlined functions. Users can further isolate data using regular expression filtering and export profiling results in CSV or TSV formats.

Features

  • Binary Size Regression Tracking - Isolates specific symbols or functions responsible for size regressions by comparing different binary versions.
  • Debug Symbol Resolvers - Provides mechanisms to resolve symbols in stripped binaries using build identifiers and external debug information.
  • Compilation Unit Profilers - Maps binary size back to specific source files by analyzing debug line information to identify bloated translation units.
  • Stripped Binary Debugging Tools - Restores symbol and compile unit information for stripped binaries using external debug files and build IDs.
  • Executable Format Support - Provides comprehensive parsing support for ELF, Mach-O, PE/COFF, and WebAssembly executable formats.
  • Byte-Level Symbol Attribution - Maps every individual byte of a binary to a specific symbol or compile unit for precise size attribution.
  • Binary Diffing - Compares two binary versions to identify structural changes and areas of size growth or shrinkage.
  • Executable Format Analyzers - Parses binary and archive formats to analyze internal structure, including linker sections and memory segments.
  • Binary Size Reporters - Provides utilities for calculating and displaying the total memory footprint and disk size of compiled programs.
  • Multi-Format Binary Loaders - Implements loaders for ELF, Mach-O, PE/COFF, and WebAssembly formats to extract size and symbol data.
  • Symbol Size Profilers - Measures and aggregates the memory footprint of individual binary symbols and sections into hierarchical reports.
  • Inlining Analysis - Analyzes binary space consumed by inlined functions by correlating binary addresses with debug line information.
  • Binary-to-Source Mapping - Associates binaries with source map files to enable compile unit and inline profiling.
  • Symbol Aggregation Rules - Allows the creation of custom grouping rules using regular expressions to aggregate binary symbols or sections.
  • Section Size Analysis - Reports the size of individual binary sections and segments across multiple executable formats.
  • Linker Section Analysis - Groups binary data by linker sections to identify which atomic regions are consuming the most space.
  • Memory Footprint Analysis - Distinguishes between the virtual memory footprint and the physical file size during binary analysis.
  • Symbol Demanglers - Translates mangled C++ symbol names into human-readable formats to identify space-consuming functions.
  • Object File Size Profiling - Breaks down the size of static libraries by analyzing the individual object files they contain.
  • Segment Permission Analysis - Determines how memory is mapped with specific read, write, and execute permissions via runtime loader segments.
  • Inlining Analysis - Identifies the amount of binary space consumed by inlined functions from header files using debug information.
  • Hierarchical Reports - Generates nested reports that visualize the structural relationship between binary segments, sections, and symbols.
  • Infrastructure and Configuration - Profiles binary size to identify bloat.
  • Binary Analysis - Profiles binary size to understand what consumes space.

Star history

Star history chart for google/bloatyStar history chart for google/bloaty

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/bloaty do?

Bloaty is a binary size profiler and executable format analyzer that attributes every byte of a binary to specific symbols or compile units. It functions as a compilation unit profiler and C++ symbol demangler, mapping binary size back to source files and translating mangled names into human-readable formats.

What are the main features of google/bloaty?

The main features of google/bloaty are: Binary Size Regression Tracking, Debug Symbol Resolvers, Compilation Unit Profilers, Stripped Binary Debugging Tools, Executable Format Support, Byte-Level Symbol Attribution, Binary Diffing, Executable Format Analyzers.

What are some open-source alternatives to google/bloaty?

Open-source alternatives to google/bloaty include: kdab/hotspot — Hotspot is a graphical user interface for analyzing and visualizing performance data captured by the Linux perf tool.… razrfalcon/cargo-bloat — cargo-bloat is a binary size analyzer and compilation analysis tool for Rust. It identifies the largest functions and… microsoft/binskim — A binary static analysis tool that provides security and correctness results for Windows Portable Executable and *nix… jkinder/jakstab — The Jakstab static analysis platform for binaries. horsicq/nauz-file-detector — Linker/Compiler/Tool detector for Windows, Linux and MacOS. rustwasm/twiggy — Twiggy🌱 is a code size profiler.

Open-source alternatives to Bloaty

Similar open-source projects, ranked by how many features they share with Bloaty.
  • kdab/hotspotKDAB avatar

    KDAB/hotspot

    5,074View on GitHub↗

    Hotspot is a graphical user interface for analyzing and visualizing performance data captured by the Linux perf tool. It functions as a performance profiling visualizer and assembly-level profiler that maps performance costs to specific instructions synchronized with original source code. The project distinguishes itself through a remote symbol resolver that maps performance data from embedded targets to local host debug symbols and sysroots. It also includes a specialized off-CPU analysis tool designed to identify thread wait times and I/O blocks using kernel scheduler tracepoints. The tool

    C++
    View on GitHub↗5,074
  • razrfalcon/cargo-bloatRazrFalcon avatar

    RazrFalcon/cargo-bloat

    2,718View on GitHub↗

    cargo-bloat is a binary size analyzer and compilation analysis tool for Rust. It identifies the largest functions and dependencies within compiled executables to locate space-consuming code and reduce the overall binary footprint. The tool functions as a build profile inspector and symbol size profiler, allowing users to analyze how different compiler options and build profiles affect the final binary size. It can export symbol data into human-readable tables or JSON format to monitor the footprint of specific crates. Capabilities include multi-target analysis across different platforms and

    Rust
    View on GitHub↗2,718
  • horsicq/nauz-file-detectorhorsicq avatar

    horsicq/Nauz-File-Detector

    574View on GitHub↗

    Linker/Compiler/Tool detector for Windows, Linux and MacOS.

    C++
    View on GitHub↗574
  • jkinder/jakstabjkinder avatar

    jkinder/jakstab

    164View on GitHub↗

    The Jakstab static analysis platform for binaries

    Java
    View on GitHub↗164
  • See all 30 alternatives to Bloaty→