Optimisation du Lexer de Purple Garden : Un gain de vitesse de 0 à 580 MB/s
Cet article de blog détaille le processus d’optimisation du lexer du langage Purple Garden par l’auteur, qui a atteint la vitesse impressionnante de 580 MB/s. Les techniques utilisées incluent les gotos calculés, les chaînes de caractères sans copie ni allocation, une interface d’allocateur, l’internement des jetons et le hachage précalculé des mots clés, améliorant ainsi considérablement les performances du lexer. D’autres optimisations ont porté sur des améliorations architecturales et l’utilisation de mmap pour une lecture de fichiers plus rapide. Ces optimisations ont entraîné une augmentation spectaculaire de la vitesse, faisant passer le temps de traitement de dizaines de millisecondes à quelques millisecondes seulement, un véritable bond en avant en termes de vitesse.