Re: Integrating "safe" languages into OpenBSD? (2017)
It also doesn&#x27;t help that Rust keeps on pushing on the idea that &quot;static linking is the only way to go&quot;. This is another cargo-cult which I wish didn&#x27;t end up being engrained so deep in the toolchain because while it has some merits, it also has significant drawbacks of a typical unix distribution.<p>Static linking might be good for folks distributing a single server binary over a fleet of machines (pretty much like Go&#x27;s primary use case), or a company that only cares about a single massive binary containing the OS itself (the browser), but it stops &quot;being cool&quot; very quickly on a typical *nix system if you plan to have hundreds of rust tools lying around.<p>Size _matters_ once you have a few thousands binaries on your system (mine has short of 6k),  think about the memory requirements of caching  vs cold-starting each, and running those and how patching for bug or vulnerabilities will pan out. There&#x27;s a reason dynamic linkage was introduced and it&#x27;s _still_ worth it today.<p>And rebuilding isn&#x27;t cheap in storage requirements either: a typical cargo package will require a few hundred megabytes of storage, likely for _each_ rebuild.<p>Two days ago I rebuilt the seemingly innocuous weechat-discord: the build tree takes about 850mb on disk, with a resulting binary of 30mb. By comparison, the latest emacs binary from git rebuilds in a 1&#x2F;10 of the time with all the features enabled, the build tree weights 150mb (most of which are lisp sources+elc) with a results in a binary of 9mb, not stripped.