O autor executou novamente três benchmarks de Python de um teste anterior no Python 3.14 e no Python 3.15, com o compilador JIT ativado e desativado em cada versão. Na rodada anterior, o JIT do 3.14 acelerou um cálculo de Mandelbrot em cerca de 25% e os cálculos de distância de Levenshtein em 27%, enquanto uma busca em grafo de Dijkstra não teve nenhuma melhora.
O Python 3.15 reconstruiu o JIT de forma substancial. A versão 3.14 previa os caminhos de código prováveis, enquanto a 3.15 usa um novo front end de rastreamento que registra o caminho que o programa realmente percorre. O otimizador também ganha alocação básica de registradores, mais propagação de constantes e menos operações de contagem de referências. A geração de código para x86-64 e AArch64 melhorou, e o código de máquina gerado usa menos memória.
Testar as quatro configurações (3.14 e 3.15, cada uma com o JIT ligado e desligado) separa o efeito das mudanças no interpretador da 3.15 do efeito de seu JIT. Isso importa porque uma comparação direta entre 3.14 e 3.15 pode ser enganosa. O interpretador da 3.15 também inclui mudanças fora do JIT, incluindo uma alteração no interpretador usado pelas builds oficiais de 64 bits para Windows.
A equipe de lançamento do Python relata uma melhora da média geométrica de 7% a 8% sobre o interpretador padrão em sua suíte de benchmarks Linux x86-64, e de 11% a 12% no macOS AArch64. O LLVM 21 é necessário apenas no momento da build, então quem usa binários oficiais não precisa instalá-lo.
A nova rodada do autor mostra que o JIT mais forte ajuda mais essas mesmas três cargas de trabalho, mas ainda não ajuda todos os programas, especialmente o código que passa a maior parte do tempo alocando objetos e chamando operações implementadas em outro lugar.
Fonte: Towards Data Science · Resumido por HeadlinesBriefing