Async Rust MVP状態から進歩せず
मूल शीर्षक: Async Rust never left the MVP state
यह क्यों महत्वपूर्ण है
組み込み開発におけるRust採用の障壁となる性能問題の解決により、IoTデバイスでのRust普及が促進される可能性。
Tweede Golf社のエンジニアDionが、Async Rustがいまだに最小限実行可能プロダクト(MVP)状態にあると指摘。特にマイクロコントローラーでのバイナリサイズの膨張問題を解決するため、コンパイラー改善のプロジェクト目標を提出。
Tweede Golf社の組み込みソフトウェアエンジニアDionは、Async Rustの現状について詳細な分析を公開した。Async Rustは大型サーバーから小型マイクロコントローラーまで実行可能だが、特に後者では「ゼロコスト抽象化」の約束が果たされていないという。問題の核心は、async機能がバイナリサイズの大幅な膨張を引き起こすことだ。
Dionは具体例として、bar関数が360行のMIRを生成する一方、非async版は23行のみと説明。コンパイラーは状態機械として複数の状態(Unresumed、Returned、Panicked、Suspend0、Suspend1)を生成する。この膨張はデスクトップやサーバーでは目立たないが、メモリとコンピュート能力が限られた組み込みシステムでは深刻な問題となる。
著者は以前に回避策を説明したが、根本的解決のためにコンパイラーレベルでの改善が必要と判断。正式にプロジェクト目標を提出し、資金調達への協力を求めている。