I shaved off 10 MiB from my binary in 2 hours!
I made a program using Macroquad, then I built it in release mode, the binary was 63 MiB in size.
So I used cargo vendor
to have a better look at Macroquad and one of its dependencies, glam.
I then started to delete code, like, lots and lots of code(about 30_000 lines of code); none of it affected my main project, some of it became ‘dead_code’ just by removing the pub
keyword.
The result is that my project was unaffected and the binary went down to 52 MiB.
Is there a way to automate removal of unneeded elements from dependencies? This is potentially huge.
The compiler doesn’t consider it to be dead code since it’s marked
pub
.Sure, but isn’t this in a dependency? Can’t be reached when only importing your crate anyways? And if you’re building a binary, I don’t think this could really considered exported, is what I mean :)
Yes that’s exactly what I want. The compiler should stop considering it accessible.