aboutsummaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2022-03-02 02:25:32 -0500
committerPaul Duncan <pabs@pablotron.org>2022-03-02 02:25:32 -0500
commit4e5aab154274effb75484f89837ff852b24eee01 (patch)
tree65dba873fd7b0f4bad92006849b6efe4ce7f5b35 /content/posts
parent2c0f82c8c2aa1e6aec4801bb069a16048a6f2c0f (diff)
downloadpablotron.org-4e5aab154274effb75484f89837ff852b24eee01.tar.bz2
pablotron.org-4e5aab154274effb75484f89837ff852b24eee01.zip
added posts/2022-03-02-tiny-binaries-redux.md
Diffstat (limited to 'content/posts')
-rw-r--r--content/posts/2021-12-31-tiny-binaries.md5
-rw-r--r--content/posts/2022-03-02-tiny-binaries-redux.md49
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."