diff options
author | Paul Duncan <pabs@pablotron.org> | 2022-03-02 02:25:32 -0500 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2022-03-02 02:25:32 -0500 |
commit | 4e5aab154274effb75484f89837ff852b24eee01 (patch) | |
tree | 65dba873fd7b0f4bad92006849b6efe4ce7f5b35 /content | |
parent | 2c0f82c8c2aa1e6aec4801bb069a16048a6f2c0f (diff) | |
download | pablotron.org-4e5aab154274effb75484f89837ff852b24eee01.tar.bz2 pablotron.org-4e5aab154274effb75484f89837ff852b24eee01.zip |
added posts/2022-03-02-tiny-binaries-redux.md
Diffstat (limited to 'content')
-rw-r--r-- | content/posts/2021-12-31-tiny-binaries.md | 5 | ||||
-rw-r--r-- | content/posts/2022-03-02-tiny-binaries-redux.md | 49 |
2 files changed, 54 insertions, 0 deletions
diff --git a/content/posts/2021-12-31-tiny-binaries.md b/content/posts/2021-12-31-tiny-binaries.md index 8e0c5bb..d965c2e 100644 --- a/content/posts/2021-12-31-tiny-binaries.md +++ b/content/posts/2021-12-31-tiny-binaries.md @@ -45,6 +45,9 @@ Optimization][tb-asm] for an explanation of the assembly results. and makes it [significantly easier to create stripped binaries][rust-strip]. +**Update (2022-03-02):** Added a [follow up post][tb-redux] with Go +1.18rc1, Rust 1.59, and TinyGo 0.22. + [x86-64]: https://en.wikipedia.org/wiki/X86-64 "64-bit version of x86 instruction set" [linux]: https://en.wikipedia.org/wiki/Linux @@ -73,3 +76,5 @@ binaries][rust-strip]. "Rust 1.59.0 release announcement." [rust-strip]: https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html#creating-stripped-binaries "Creating stripped binaries section of Rust 1.59.0 release announcement." +[tb-redux]: {{< ref "2022-03-02-tiny-binaries-redux.md" >}} + "Tiny Binaries Redux post." diff --git a/content/posts/2022-03-02-tiny-binaries-redux.md b/content/posts/2022-03-02-tiny-binaries-redux.md new file mode 100644 index 0000000..075b753 --- /dev/null +++ b/content/posts/2022-03-02-tiny-binaries-redux.md @@ -0,0 +1,49 @@ +--- +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." |