Async Rust never left the MVP state
L'auteur explique que l'utilisation d'async en Rust génère un gonflement important du binaire, particulièrement problématique sur les microcontrôleurs où la taille est critique. Il propose d'attaquer ce problème au niveau du compilateur, a soumis un Project Goal et recherche un financement estimé à environ 30 000 € pour avancer sur ce travail. Les optimisations envisagées comprennent de remplacer le panic du variant Returned par un Poll::Pending en release, de ne pas générer de machine d'états pour les async sans await, d'inliner des futures à un seul await et de fusionner des états identiques. Des prototypes montrent des gains modestes mais réels, par exemple 2–5 % de réduction de taille pour du firmware embarqué, 0,2 % quand il n'y a pas d'await et environ +3 % de performance sur un benchmark synthétique x86. L'article souligne que ces optimisations doivent intervenir au niveau MIR car LLVM n'élimine pas toujours la complexité des machines d'état générées, et invite les organisations intéressées à contacter l'auteur.