Re:Go 1.17 Beta
by anderskaseorg on Thursday June 10, 2021 @04:37PM
(#27465463)
Although it used to be worse, these days a standard Rust “Hello, world!” compiles to just 277 KB on Linux with ‘cargo build --release’ and ‘strip’—5× smaller than the equivalent for Go (and there are games you can play to get it down further).
Oh, that's very cool, I hadn't checked that in ages. Any idea on what Rust does better here? Better link time optimization? Or is the Go runtime just that heavier?
Re:Go 1.17 Beta
by colin_mccabe on Thursday June 10, 2021 @06:24PM
(#27466625)
Rust doesn't really have a "runtime" in the same sense that Go does. For example, Rust has no GC.
Depends, dynamic linking is great for plugins, on the other hand I guess we have learnt that IPC is a better option for security and overall application stability.
not counting MBs!? must be nice, havent developed on something with 1MB or more in years
And even then it's not a sure win, because LTO can remove a lot of useless code from dependencies, so if you only use a small part of a dependency you might still be better off with static linking regardless of other factors.
It's pretty hard to justify the complexity and overhead of dynamic linking nowadays, IMO.