If you are seeing a huge difference in size, it is probably because you are linking the Rust executable statically and the C one dynamically. With dynamic linking, you need to take the size of all the dynamic libraries into account too, not just the executable.
How do I make Rust binaries smaller?
To instruct Cargo to optimize for minimal binary size, use the z optimization level in Cargo. toml : [profile. release] opt-level = "z" # Optimize for size.
Does Rust compile to a single binary?
Rust is a language that compiles to native code and by default statically links all dependencies. When you run cargo build on your project that contains a binary called grrs , you'll end up with a binary file called grrs .