Tighten rust’s belt: shrinking embedded Rust binaries

Tighten rust’s belt: shrinking embedded Rust binaries
复制标题

勒紧 rust 的腰带:缩小嵌入式 Rust 二进制文件

DOI:
10.1145/3519941.3535075
复制
发表时间:
2022
期刊:
and Tools for Embedded Systems
影响因子:
--
通讯作者:
Van Why, Johnathan
Van Why, Johnathan
中科院分区:
--
文献类型:
--
作者:
Ayers, Hudson;Laufer, Evan;Mure, Paul;Park, Jaehyeon;Rodelo, Eduardo;Rossman, Thea;Pronin, Andrey;Levis, Philip;Van Why, Johnathan

文献摘要

参考文献

被引文献

相似文献

Rust是一种很有前途的嵌入式软件编程语言,提供了类似于C/C++的低级原语和性能,以及类型安全,内存安全和现代高级语言功能。我们发现Rust的天真使用会导致二进制文件比它们的C等价物大得多。对于闪存受限的嵌入式微控制器,这是禁止的。我们发现这种增长的四个主要原因:单态化,低效的派生,隐式数据结构,以及缺少编译器优化。我们提出了一组嵌入式Rust编程原则,可以减少Rust二进制文件的大小。我们将这些原则应用于工业Rust固件应用程序,减少了76 kB(19%)的大小,以及开源Rust OS内核二进制文件,减少了23 kB(26%)的大小。我们探索了可以进一步缩小嵌入式Rust的编译器优化。
Rust is a promising programming language for embedded software, providing low-level primitives and performance similar to C/C++ alongside type safety, memory safety, and modern high-level language features. We find naive use of Rust leads to binaries much larger than their C equivalents. For flash-constrained embedded microcontrollers, this is prohibitive. We find four major causes of this growth: monomorphization, inefficient derivations, implicit data structures, and missing compiler optimizations. We present a set of embedded Rust programming principles which reduce Rust binary sizes. We apply these principles to an industrial Rust firmware application, reducing size by 76kB (19%), and an open source Rust OS kernel binary, reducing size by 23kB (26%). We explore compiler optimizations that could further shrink embedded Rust.
使用高级编程语言编写网络驱动程序的案例
DOI: 10.1109/ancs.2019.8901892
发表时间: 2019
期刊: 2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)
影响因子: --
作者:
Paul Emmerich;Simon Ellmann;Fabian Bonk;A. Egger;Esaú García Sánchez;T. Günzel;Sebastian Di Luzio;Alexandru Obada;Maximilian Stadlmeier;Sebastian Voit;G. Carle
通讯作者: G. Carle
通过依赖类型消除死代码
DOI: 10.1007/3-540-49201-1_16
发表时间: 1999
期刊: 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051)
影响因子: --
作者:
H. Xi
通讯作者: H. Xi
嵌入式系统的低成本确定性 C 异常
DOI: 10.1145/3302516.3307346
发表时间: 2019
期刊: Proceedings of the 28th International Conference on Compiler Construction
影响因子: --
作者:
James Renwick;T. Spink;Björn Franke
通讯作者: Björn Franke
部分死代码消除
DOI: --
发表时间: 1994
期刊: ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子: --
作者:
J. Knoop;Oliver Rüthing;B. Steffen
通讯作者: B. Steffen
HyFM:免费功能合并
DOI: 10.1145/3461648.3463852
发表时间: 2021
期刊: --
影响因子: --
作者:
Rocha R
通讯作者: Rocha R