Aumento de Desempenho do CPython: Uma História de Reviravoltas Inesperadas e Regressões do LLVM
Uma recente fusão do CPython introduziu uma nova implementação do interpretador de bytecode, inicialmente mostrando ganhos de desempenho impressionantes de 10-15% em vários benchmarks. No entanto, essa melhoria resultou da circunvenção inadvertida de uma regressão do LLVM 19. Quando comparado a uma linha de base melhor (como GCC ou LLVM 19 ajustado), o aumento de desempenho real diminui para apenas 1-5%. Semanas de compilação, benchmarking e desmontagem revelaram que as limitações do LLVM 19 na duplicação de chamadas de cauda causaram a regressão. Embora o interpretador de chamadas de cauda seja uma melhoria valiosa, este incidente destaca os desafios em benchmarking, engenharia de desempenho e engenharia de software, como a dificuldade em escolher linhas de base e entender as complexidades das otimizações do compilador.