mcronce
Joined 6 years ago
Joined 6 years ago
You certainly can build a statically linked binary with musl libc (in many circumstances, at least), but it's not the default.
The default is a binary that statically links all the Rust crates you pull in, but dynamically links glibc, the vdso, and several other common dependencies. It's also, IIRC, the default to dynamically link many other common dependencies like openssl if you pull them in, although I think it's common for the crates that wrap them to offer static linking as an option.
The reason I don't like most other platformers almost definitely isn't because they're actually inferior, it's just because I'm "calibrated" to SMW
The impact on compile time and code size wasn't bad (for a project that was large and already pulling in a lot of crates), but it had a huge runtime cost - mostly allocator pressure in the form of temp allocations from what I could see. For a mostly I/O bound workload, it more than doubled CPU utilization and ballooned OS-measured memory consumption by >30%
I also doubt they really care whether or not any particular HN reader has a positive or negative opinion of them.
That's hardly "no ability to do anything about it".
Ridiculous take