Journées du Logiciel Libre 2021

Une histoire de performance : Rust dans Mercurial
2021-04-03, 12:00–12:55, Salon

Retour d'expérience sur le travail en cours pour rendre hg status 25x plus rapide qu'avant.


Mercurial est un logiciel de contrôle de version distribué (en anglais DVCS) principalement écrit en Python. Bien qu'il soit souvent le VCS de choix pour les mono-dépôts pour sa grande capacité de montée en échelle, certaines de ses parties restent plus lentes qu'elles ne devraient être. Depuis ces deux dernières années, un effort de réécriture de composants du cœur de Mercurial en Rust s'est transformé en plusieurs améliorations nettes de performance, même en comparant aux implémentations en C.

Nous parlerons des différents obstacles que Raphaël et ses collègues d'Octobus ont rencontré lors de la réécriture du très commun hg status, et les solutions qu'ils ont trouvées pour rendre cette commande (et d'autres) bien plus rapides. Par exemple, lancer hg status dans le dépôt Mozilla Central est passé de 1,1s à 0,04s, soit 25x plus rapide.


Intervention tout public – non Catégorie de public visée – Particulier, Associatif, Entreprise Nom de l'association ou entreprise – Octobus