This project is a collection of techniques and configurations for reducing the disk footprint of compiled Rust executables. It serves as a guide and toolset for binary size optimization, providing strategies to minimize the final executable size through compiler flags and configuration.
The project focuses on aggressive size reduction strategies, including recompiling the standard library from source to prune unused functions and implementing no-standard-library modes for memory-constrained environments. It details how to eliminate runtime overhead by removing standard library entry points and replacing stack unwinding with immediate abort strategies to remove backtrace metadata.
Additional capabilities cover binary bloat analysis to identify size-increasing dependencies, the use of link-time optimization to remove dead code, and post-compilation symbol stripping. The guide also addresses the reduction of storage footprints for applications deployed within container images and the use of external packing tools for binary compression.