Python 3.11 pode sair só em dezembro devido a bugs pendentes

Python 3.11 pode sair só em dezembro devido a bugs pendentes
Python 3.11 pode sair só em dezembro devido a bugs pendentes

Embora o Python 3.11 seja um grande lançamento e traga melhorias significativas de desempenho, usuários e desenvolvedores podem precisar esperar um pouco mais pelo lançamento estável. A grande expectativa é de que o Python 3.11 pode sair só em dezembro devido a bugs pendentes.

Uma atualização de status referente ao Python 3.11 foi emitida hoje, onde eles podem recorrer ao envio da versão final para dezembro, se a estabilidade não melhorar na próxima semana.

O Python 3.11 Beta 4 está atrasado devido a “um monte de bloqueadores de lançamento pendentes”, mesmo após uma rodada de correção de outros bloqueadores de lançamento. Esses bugs incluem problemas de desempenho, possíveis travamentos e outros problemas de interrupção do show.

Python 3.11 pode sair só em dezembro devido a bugs pendentes

Python 3.11 pode sair só em dezembro devido a bugs pendentes

O Python 3.11 já está três semanas atrasado em relação ao cronograma de lançamento e, devido ao infeliz estado dos bugs no momento, eles podem recorrer à emissão de mais dois lançamentos beta que, por sua vez, atrasariam as coisas em dois meses.

Esperava-se que a final do Python 3.11 estreasse por volta de 3 de outubro, enquanto agora, na próxima semana, devemos saber se isso mudará para dezembro. Um atraso de dois meses, em última análise, não é ruim para garantir qualidade extra desta grande atualização do Python, mas o momento lança uma bola curva para as versões de outono da distribuição Linux que pretendiam ser lançadas com o Python 3.11. 

O Fedora, por exemplo, já havia começado sua transição para o Python 3.11, mas para o Fedora 37 pode acabar precisando voltar para o Python 3.10, dependendo de como o tempo de lançamento é decidido. O status de versão atual do Python 3.11 pode ser encontrado na lista python-dev.

Expectativa da nova versão estável era para outubro

Uma nova versão do Python deveria sair até o mês de outubro com muitos novos recursos aguardados. Sendo assim, o próximo Python 3.11 terá como principal destaque o melhor desempenho. “O Python 3.11 é até 10-60 por cento mais rápido que o Python 3.10”, afirmam as notas de lançamento. Porém, ao mesmo tempo em que o Python 3.11 ganha maior desempenho, ele passa a consumir também ‘um pouco mais de memória’.

Como isso está sendo feito? Python 3.11 é a primeira versão a se beneficiar de um projeto chamado Faster CPython. Já o CPython é a versão padrão do interpretador.

Faster CPython é um projeto financiado pela Microsoft, cujos membros incluem o inventor do Python Guido van Rossum, o engenheiro de software sênior da Microsoft Eric Snow e Mark Shannon – que está sob contrato com a Microsoft como líder de tecnologia para o projeto.

Uma sessão agendada para o evento EuroPython a ser realizado em Dublin em julho centra-se em algumas das mudanças que permitem a aceleração. Shannon descreverá o “intérprete especializado adaptativo” no Python 3.11, que é o PEP (Python Enhancement Proposal) 659. Isso descreve uma técnica chamada especialização que, explica Shannon, “normalmente é feita no contexto de um compilador JIT [just in time], mas pesquisas mostram que a especialização em um interpretador pode aumentar significativamente o desempenho”.

O interpretador identifica o código que pode se beneficiar da especialização e “uma vez que uma instrução em um objeto de código tenha executado o suficiente, essa instrução será “especializada” substituindo-a por uma nova instrução que deverá ser executada mais rapidamente para essa operação”, afirma o PEP. A aceleração pode ser de “até 50 por cento”.

Shannon também identifica quadros de execução alocados consecutivamente, try-except de custo zero, layout de objeto mais regular e dicionários de objetos criados preguiçosamente em sua prévia da palestra.