Accélérez les paquets Ubuntu de 90 % : une histoire de recompilation et d’allocateurs

Cet article explique comment la recompilation du paquet source jq utilisé par Ubuntu a entraîné une amélioration spectaculaire des performances de 90 %. L’auteur a effectué des tests de référence avec un fichier GeoJSON de 500 Mo. La simple recompilation du paquet a produit une accélération faible mais notable. D’autres optimisations ont consisté à utiliser le compilateur clang avec de meilleurs indicateurs (-O3, -flto, -DNDEBUG), ce qui a entraîné une amélioration de 20 %. Le passage à l’allocateur TCMalloc a amélioré les performances de 40 % supplémentaires. Enfin, l’utilisation de mimalloc, qu’il soit chargé dynamiquement ou intégré lors de la recompilation, a entraîné une amélioration remarquable de la vitesse de 90 %. Le jq recompilé avec mimalloc est près de deux fois plus rapide que le paquet Ubuntu par défaut lors de plusieurs tests.