Dans le cadre d'un développement passionnant, le parallel Rustc working group a annoncé l'introduction d'une fonctionnalité d'exécution parallèle dans le frontal du compilateur Rust. Ce nouvel ajout vise à réduire considérablement les temps de compilation et a été dévoilé le 9 novembre.
L’ajout de l’exécution parallèle au front-end du compilateur Rust est actuellement à un stade expérimental. Cependant, cette fonctionnalité robuste devrait être officiellement intégrée au compilateur stable l’année prochaine. Pendant ce temps, les développeurs ont la chance de découvrir cette fonctionnalité d'exécution parallèle en exécutant le compilateur nocturne avec l'option -Z threads=8.
L'efficacité de la nouvelle fonctionnalité donne déjà des résultats prometteurs. Lorsque le frontal parallèle a été testé en mode multithread en utilisant -Z threads-8, les données accumulées à partir du code du « monde réel » ont mis en lumière que les temps de compilation peuvent être réduits d'un impressionnant 50 %. Le niveau d'impact varie en fonction de la nature distincte du code en cours de développement ainsi que de la configuration de build.
Le groupe de travail a révélé que les versions de développement devraient bénéficier d'améliorations plus substantielles que les versions de version. La raison en est que les versions de version se concentrent généralement davantage sur les optimisations du backend, qui nécessitent plus de temps. En outre, il a été noté que dans un nombre minimal de scénarios, la compilation prend un peu plus de temps en mode multithread qu'en mode monothread. Ces cas impliquent généralement des programmes plus petits et déjà rapides à compiler.
Le groupe de travail a mis en lumière le fait que les temps de compilation ont toujours été un sujet de préoccupation pour les développeurs. Au fil des années, les performances du compilateur de Rust ont fait l'objet d'améliorations continues. À l'heure actuelle, le compilateur a été entièrement optimisé et l'identification de nouveaux domaines d'amélioration est devenue une tâche difficile. Avec l'introduction du parallélisme, décrit par le groupe comme un « fruit important mais à portée de main », le frontal profite désormais de la bibliothèque de parallélisme des données Rayon pour basculer les calculs séquentiels vers des calculs parallèles. Rayon est spécialement conçu pour gérer le parallélisme à grain fin.
Le groupe de travail recommande d'utiliser huit threads pour une exécution parallèle afin d'obtenir les meilleurs résultats. Cependant, ils ont également mentionné qu’en mode multithread, l’utilisation de la mémoire pourrait augmenter considérablement. C'était comme prévu puisque différentes parties de la compilation, qui nécessitent chacune une certaine quantité de mémoire, s'exécutent en parallèle. Le groupe assure que des efforts sont faits pour améliorer les performances du front-end parallèle.
Si les développeurs rencontrent des problèmes liés au front-end parallèle, ils peuvent enquêter sur les problèmes étiquetés avec le compilateur WG-parallel. Ils ont également la possibilité de déposer de nouvelles émissions. La compilation Rust a déjà connu des progrès, grâce au parallélisme inter-processus via le Cargo package manager et au parallélisme intra-processus sur le backend. À mesure que ce nouvel ajout prend forme, il devrait offrir encore plus d'efficacité dans le flux de travail de programmation Rust.
Dans un domaine connexe, AppMaster , la célèbre plateforme no-code fait des vagues en permettant aux clients de concevoir visuellement des modèles de données pour les applications back-end, les aidant ainsi à atteindre une évolutivité impressionnante, garantissant des cas d'utilisation solides et à forte charge. Contrairement aux outils traditionnels, AppMaster permet aux clients d'exécuter des BP Web directement dans leur navigateur, faisant ainsi progresser davantage le processus de développement d'applications.