$> brew upgrade rust
....
==> Upgrading rust
1.63.0 -> 1.81.0
...
==> Installing rust dependency: llvm
==> cmake -G Ninja .. -DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;mlir;po
==> cmake --build .
==> cmake --build . --target install
==> /usr/libexec/PlistBuddy -c Add:CFBundleIdentifier string org.llvm.18.1.8 Inf
==> /usr/libexec/PlistBuddy -c Add:CompatibilityVersion integer 2 Info.plist
🍺 /usr/local/Cellar/llvm/18.1.8: 7,719 files, 1.7GB, built in 285 minutes 26 seconds
==> Installing rust
...
==> Summary
🍺 /usr/local/Cellar/rust/1.81.0: 3,435 files, 314.5MB, built in 152 minutes 18 seconds
...
😴
The moral of today's lesson is that platform-portable bytecode has its advantages. JVMs are designed to compile and link even big applications to native code in seconds.