Declaração da era de liberdade de threads — decisão do Steering Council do Python
(discuss.python.org)Graças aos esforços de Na Dong-hui, o free-threading agora deixa de ter a tag experimental e passa a ter suporte oficial.
O Python Steering Council (SC) aprovou a PEP 779 para remover a tag “experimental” do build com free-threading no Python 3.14. A decisão foi tomada com a condição de que as tarefas abaixo sejam cumpridas durante a Fase II.
-
Compatibilidade de C API/ABI e definição de Stable C API
- Mudanças que quebrem a compatibilidade com a API/ABI existente devem ser previamente acordadas com o grupo de trabalho da C API
- Até o Python 3.15, definir e fornecer uma Stable C API específica para free-threading
-
Critérios para novos projetos experimentais
- Novos projetos experimentais dentro do CPython devem ser compatíveis com o build de free-threading e desenvolvidos com base nele
- Minimizar a complexidade de manter GIL e free-threading em paralelo
-
Guardrails de desempenho e memória
- Meta: perda de desempenho de até 10% em comparação com o build com GIL
- Até 15% de perda / 15% de aumento de memória exigem acordo prévio do SC (limite máximo de memória de 20%)
-
Requisitos de documentação
- Usuários de Python: deixar claras as garantias e mudanças nas APIs da biblioteca padrão
- Desenvolvedores de Python e C API: documentar garantias de concorrência, como sinais e segurança de threads
- Desenvolvedores do CPython: documentar os pontos a considerar na implementação
- Fornecer uma landing page oficial de free-threading reunindo todo o material
-
Preparação de primitivas de concorrência de alto nível
- Com foco no pacote
concurrent, propor e revisar ferramentas de concorrência de alto nível que usuários possam usar sem conhecer a implementação interna
- Com foco no pacote
-
Requisitos de benchmark
- Validar alegações de desempenho, memória e correção com testes reproduzíveis baseados em
pyperformance - Incentivar contribuições de benchmarks adicionais que reflitam cargas de trabalho reais
- Validar alegações de desempenho, memória e correção com testes reproduzíveis baseados em
O SC demonstrou confiança no progresso do projeto e recomenda que a comunidade Python promova ativamente o build com free-threading como uma opção oficialmente suportada. Na versão 3.14 beta 3, a tag “experimental” deverá ser removida oficialmente, e a possibilidade da Fase III (tornar o free-threading o build padrão ou único) será discutida posteriormente.
3 comentários
Vida longa à independência das threads!
Viva!
Uau...!