This repository contains the SizeBench tool for doing size analysis of PE files (Portable Executables such as DLL, EXE, and SYS files) typically used on Windows. It's intended to help with questions like:
- Why is this binary so big?
- What can be done to make it smaller?
You can get help by opening SizeBench and going to Help > Show Help. Or, in this repo the usage docs are in the EndUserDocs folder.
For an introduction to this tool, see the announcement blog post
Install SizeBench from the Microsoft Store.
Launch it from the start menu, then select Examine a Binary
to pick a PE file and its symbols. Or select Start a diff
to pick a "before" PE with its
symbols and an "after" PE with its symbols.
On the command line, use sizebench.exe mybinary.exe mysymbols.pdb
to analyze a single binary, or sizebench.exe ..\baseline\mybinary.exe ..\baseline\pdb\mybinary.pdb mybinary.exe .\pdb\mybinary.pdb
to start a comparison session.
We are excited to work alongside you, our amazing community!
BEFORE you start work on a feature/fix, please read & follow our Contributor's Guide to help avoid any wasted or duplicate effort.
The easiest way to communicate with the team is via GitHub issues and GitHub discussions.
Please file new issues, feature requests and suggestions, but DO search for similar open/closed pre-existing issues before creating a new issue.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines.
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
The next expected work should be roughly this:
- Move to GitHub Actions for CI and PR pipelines.
- Create and publish NuGet package for the Analysis Engine.
- Support diffing of SourceFiles.
- Support diffing of Inline Sites.
- Improved support for binaries containing Rust code.