如何优化本地和WASM工具链的可执行二进制文件大小?

4

我对Rust还比较陌生,但是目前为止我对它的设计印象深刻。然而,我遇到了一些让我不敢在商业项目中使用它的问题。一个“Hello world”应用程序的可执行二进制文件大小为3.2Mb。

-rwxr-xr-x 2 kos kos 3,2M Jul 10 15:44 experiment_app_size

太棒了!

  • rustc的版本是 1.53.0
  • 工具链是 stable-x86_64-unknown-linux-gnu.
  • 目标是 release.

我想知道未来是否计划修复这个问题? 有没有一种技术可以用来减小可执行二进制文件的大小? WASM工具链是否存在相同的问题?


3
这个问题已经在这个网站和其他地方频繁讨论过。可以从为什么Rust可执行文件如此巨大?开始,然后尝试一些基本的网络搜索,比如“rust二进制文件大小”。 - IMSoP
@IMSoP 6岁了。这还有意义吗? - Kos
我不知道,但是你提出的问题并没有表现出你尝试寻找现有信息的证据。 - IMSoP
@IMSoP确实已经过时,而且没有关于WASM工具链的答案。官方文档中关于大小优化的信息不多,但我分享的那篇文章是被推荐给我的,很不错。我需要找到关于WASM工具链的答案。你提到的帖子并没有涉及WASM。 - Kos
1
在这种情况下,您应该:要么为现有问题添加答案;要么提出一个专注于WASM工具链的问题。目前的措辞正好与现有问题问的一样。 - IMSoP
1个回答

6
默认情况下,Rust 优化执行速度而不是二进制大小,因为对于绝大多数应用程序来说,这是理想的。但是,对于希望优化二进制大小的开发人员,Rust 提供了实现此目的的机制。 大多数上述描述的技术都适用于本地和WASM工具链。按照该指南,可以获得约93k的“hello world”二进制文件。
这里是一篇专门的广泛文章,介绍如何优化Rust WASM构建的二进制文件大小。
这里是官方Rust论坛上关于选项开发人员可以通过大小来优化二进制文件的利弊的深入讨论。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接