--- slug: tiny-binaries-redux title: "Tiny Binaries Redux" date: "2022-03-02T01:03:47-04:00" --- I regenerated the [Tiny Binaries][] chart with the following changes: * Added [Rust 1.59][]. * Added [TinyGo 0.22.0][tinygo]. * Replaced [Go 1.18beta1][] with [Go 1.18rc1][]. ### Results {{< figure src="/files/posts/tiny-binaries-redux/sizes-all.svg" class=image caption="All Static Binary Sizes" >}} ### Notes * [TinyGo][] binaries are ... tiny! * [Go 1.18rc1][] generates slightly larger binaries than [Go 1.18beta1][]. * [Rust 1.59][] generates slightly smaller binaries than [Rust 1.57][rust 1.57]. * [UPX][] still makes a huge difference. See the [tiny-binaries GitHub repository][repo] for additional details and a table of results. [tiny binaries]: {{< ref "2021-12-31-tiny-binaries.md" >}} "Original Tiny Binaries article." [repo]: https://github.com/pablotron/tiny-binaries "Tiny Binaries GitHub repository" [rust]: https://www.rust-lang.org/ "Rust programming language" [rust 1.59]: https://blog.rust-lang.org/2021/12/02/Rust-1.57.0.html "Rust 1.57.0 release announcement." [rust 1.59]: https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html "Rust 1.59.0 release announcement." [go 1.18beta1]: https://go.dev/ "Go programming language, version 1.18beta1." [go 1.18rc1]: https://go.dev/dl/#go1.18rc1 "Go 1.18rc1 download." [tinygo]: https://tinygo.org/ "TinyGo: Small Go compiler." [upx]: https://upx.github.io/ "Ultimate Packer for eXecutables."