Mon temps de compilation Rust est passé de 4 minutes à 32 secondes

2025-06-26

Le site web Rust de l'auteur mettait 4 minutes à compiler, nécessitant une recompilation, une copie et un redémarrage pour chaque modification. Pour accélérer le processus, des conteneurs Docker et cargo-chef ont été utilisés pour la précompilation des dépendances, mais avec un succès limité. En utilisant l'auto-profilage de rustc et les données de trace de LLVM, l'auteur a identifié l'optimisation au moment de la liaison (LTO) et la génération de code du module LLVM comme les principaux goulots d'étranglement. Grâce à une série d'optimisations, notamment l'ajustement des niveaux de LTO, des niveaux d'optimisation et la division de grandes fonctions asynchrones, le temps de compilation a été réduit de 4 minutes à 32,3 secondes.

Développement