Vous êtes un warrior ! Normal, vous utilisez Linux depuis des années. Et vous aimez beaucoup toutes vos petites commandes du quotidien, ls, cat, base64… Vous le savez, tout ça fonctionne avec du bon vieux code C aussi vénérable que solide. Du code robuste, certes, mais qui pourrait bien se faire dépasser par plus moderne. Hé oui, parce qu’une bande de développeurs a décidé de refaire tout uutils Coreutils en Rust, et en prime, leurs nouvelles versions sont largement plus rapides que les originales.Les benchmarks parlent d’eux-mêmes : l’utilitaire base64 mouline maintenant en 3,146 secondes là où GNU Coreutils prend 4,901 secondes. La version Rust est donc clairement plus rapide, mais le plus fou, c’est que la version précédente de Rust Coreutils mettait encore 5,998 secondes. En gros, ils ont pratiquement doublé la vitesse entre leurs deux versions mineures.Alors comment ils ont fait ça ? Et bien en intégrant labibliothèque base64-simdqui exploite les instructions SIMD des processeurs modernes. Pour faire simple, au lieu de traiter les données octet par octet comme un escargot asthmatique, le nouveau code traite plusieurs octets en parallèle, comme un guépard qui serait abonné à la chaine de Tibo Inshape. SSE4.1, AVX2, AVX-512 pour les processeurs Intel et AMD, et ARM NEON pour les puces ARM comme les Apple Silicon… ce sont toutes ces architectures qui profitent de l’accélération.D’ailleurs, ce n’est pas qu’une histoire de performance brute. Ubuntu prévoit d’intégrer ces outils Rust dans sa version 25.10. Et Canonical ne fait pas ça pour suivre la mode du Rust… Non, ils voient un vrai intérêt qui est la sécurité mémoire garantie par Rust. Cela élimine toute une catégorie de bugs qui hantent le code C depuis des décennies, à savoir les buffer overflows, les use-after-free…etc, tout ce folklore de développeur devient impossible avec Rust.EtSylvestre Ledru, le développeur principal du projet uutils, n’a pas juste optimisé base64. Par exemple, la commande tr qui était 9,8 fois plus lente que GNU dans les anciennes versions est maintenant 1,58 fois plus rapide par rapport à sa propre version précédente !Bon après, je vais faire plaisir aux grincheux qui n’aiment pas le changment, oui, tout n’est pas rose non plus. Sur les 600 tests de la suite GNU, Rust Coreutils n’en passe que 500 environ. Il reste donc un peu de boulot pour avoir une compatibilité parfaite. Mais avec l’attention que le projet reçoit en ce moment et le soutien d’Ubuntu, ça devrait s’améliorer rapidement.Ça fait plaisir de voir ce bon vieux code C qui fait tourner nos systèmes depuis des millénaires est en train d’être challengé par du Rust. Et non pas parce que c’est à la mode, mais parce que dans certains cas, c’est objectivement meilleur : plus rapide, plus sûr, plus maintenable.Pour les dev parmi vous qui veulent tester, lanouvelle release 0.2.2 est disponible sur GitHub. Et pour ceux qui se demandent si c’est vraiment utile d’optimiser des commandes qui s’exécutent en quelques secondes, rappelez-vous que ces outils sont appelés des milliers de fois par jour dans des scripts, des pipelines CI/CD, des conteneurs Docker… Chaque milliseconde gagnée, c’est donc un gros paquet d’énergie économisée et du temps machine libéré !Alors, prêts à voir vos vieilles commandes Linux carburer au Rust ?Source