15 pontos por darjeeling 2025-06-16 | 3 comentários | Compartilhar no WhatsApp

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.

  1. 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
  2. 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
  3. 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%)
  4. 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
  5. 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
  6. 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

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

 
carnoxen 2025-06-20

Vida longa à independência das threads!

 
idunno 2025-06-18

Viva!

 
kimjoin2 2025-06-17

Uau...!