Not a particularly fair comparison though, as that C binary is loading dynamic libraries that are already in memory. Case in point: that C program needs the C standard library, but by default that library (glibc) is dynamically loaded. Rust is not offering the Rust standard library as a dynamic library, hence the larger size. Not to mention, interfacing with C functions in the kernel.
You'll get different results if you compile them with musl for truly static and fair binary size comparisons.
You'll get different results if you compile them with musl for truly static and fair binary size comparisons.