Pugio is a graph visualisation tool for Rust to estimate and present the binary size contributions of a crate and its dependencies. It uses
cargo-treeandcargo-bloatto build the dependency graph where the diameter of each crate node is logarithmic to its size. The resulting graph can then be either exported withgraphvizand opened as an SVG file, or as a DOT graph file for additional processing.
I have developed this project out of frustration when trying to reduce the binary sizes by removing unnecessary dependencies and their features. cargo-bloat by itself is a great tool but lacks the dependency information, such as how deeply depended a particular crate i...
Pugio is a graph visualisation tool for Rust to estimate and present the binary size contributions of a crate and its dependencies. It uses
cargo-treeandcargo-bloatto build the dependency graph where the diameter of each crate node is logarithmic to its size. The resulting graph can then be either exported withgraphvizand opened as an SVG file, or as a DOT graph file for additional processing.
I have developed this project out of frustration when trying to reduce the binary sizes by removing unnecessary dependencies and their features. cargo-bloat by itself is a great tool but lacks the dependency information, such as how deeply depended a particular crate is. cargo-tree on its own is also amazing to show the dependency tree structure, but it is bounded by the CLI and of course while all dependencies are equal, some dependencies are more equal than others, and thus Pugio is born!
I am planning to add more features, as this is still the initial 0.1.0 version, and of course all feedback/suggestions/contributions are more than welcome!