Aplanando ASTs: Ganhos de desempenho em estruturas de dados de compiladores

2025-01-10
Aplanando ASTs: Ganhos de desempenho em estruturas de dados de compiladores

Este artigo explora a otimização de desempenho de estruturas de dados de compiladores através do achatamento de Árvores de Sintaxe Abstrata (ASTs). O autor constrói um interpretador de expressões aritméticas simples, implementando-o tanto com ponteiros tradicionais quanto com uma abordagem de array achatado, comparando seu desempenho. Os resultados mostram uma aceleração de 2,4x com a versão achatada, atribuída à melhor localidade de memória, tamanhos de referência menores e alocação/desalocação mais baratas. O achatamento também simplifica o gerenciamento de memória e facilita a desduplicação. O artigo apresenta ainda um interpretador iterativo que explora a representação achatada para ganhos adicionais de desempenho.