Rendre ma build de débogage 100 fois plus rapide : SIMD et silicium dédié à la rescousse

2025-02-18

Lors du développement d'une application torrent en C, l'auteur a rencontré un problème de lenteur du temps de démarrage de la build de débogage (20 à 30 secondes). Cela était principalement dû à la vérification des valeurs de hachage SHA1 pour chaque morceau du fichier téléchargé au démarrage du programme, considérablement ralentie par Address Sanitizer en mode débogage. L'article explore plusieurs techniques d'optimisation, notamment l'utilisation d'instructions SIMD et du matériel d'accélération SHA dédié du processeur. Finalement, en utilisant le jeu d'instructions d'extension SHA d'Intel, le temps de démarrage a été réduit à 866,9 millisecondes, soit une amélioration des performances de 100 fois. L'article détaille l'implémentation et la comparaison des performances de plusieurs approches d'optimisation, en discutant de l'optimisation du compilateur et de l'impact des E/S disque.

Développement