Aplatissement des AST : gains de performances dans les structures de données des compilateurs
Cet article explore l'optimisation des performances des structures de données des compilateurs en aplatissant les arbres de syntaxe abstraite (AST). L'auteur construit un interpréteur d'expressions arithmétiques simple, en l'implémentant à la fois avec des pointeurs traditionnels et une approche de tableau aplati, et compare leurs performances. Les résultats montrent une accélération de 2,4 x avec la version aplatie, attribuée à une meilleure localité de la mémoire, à des tailles de référence plus petites et à une allocation/désallocation moins coûteuse. L'aplatissement simplifie également la gestion de la mémoire et facilite la déduplication. L'article présente également un interpréteur itératif qui exploite la représentation aplatie pour des gains de performances supplémentaires.