blob: 2596aceb2dd1e8cabc85abbf319ed7939cb67330 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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.57]: 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."
|