1 pontos por GN⁺ 2023-10-22 | 1 comentários | Compartilhar no WhatsApp
  • O comitê diretor do Python anunciou o plano de tornar o Global Interpreter Lock (GIL) opcional em futuras versões do Python
  • A PEP 703, uma proposta ainda em discussão, está tendo seus detalhes finalizados
  • Espera-se que a versão sem GIL do Python resolva alguns dos problemas mais difíceis da ciência da computação, especialmente os de nomenclatura
  • Sam Gross, autor da PEP 703, discutiu a interação entre a proposta e a ABI estável do CPython
  • A ABI estável é usada por extensões para permitir wheels binários compatíveis com várias versões do CPython
  • A proposta imagina uma única versão do CPython sem GIL, mas até lá haverá builds do interpretador para testar o funcionamento sem GIL
  • Extensões criadas para a ABI estável não são compatíveis com o CPython 3.13 sem GIL, mas Gross propõe alterá-las para funcionar com os dois tipos de build do CPython após essa versão
  • A discussão sobre a nomenclatura da versão sem GIL foi separada para uma thread própria
  • O comitê diretor concordou em evitar o nome "nogil" para descrever o build e propôs "free-threading" como alternativa
  • A aprovação final da PEP 703 ainda está pendente, e o comitê diretor trabalha para esclarecer os critérios de aprovação
  • Espera-se que a versão sem GIL do CPython tenha um impacto importante no desenvolvimento do CPython e em seu ecossistema nos próximos cinco anos ou mais

1 comentários

 
GN⁺ 2023-10-22
Opiniões no Hacker News
  • Discussão sobre o andamento do No-GIL no CPython
  • Opinião de que o paralelismo explícito deveria se tornar mais importante na computação moderna e que o Python precisa se adaptar a essa tendência
  • Preocupação de que, se o GIL for removido, possam ocorrer corridas de dados e operações incorretas em código Python multithread
  • Pergunta sobre a viabilidade de analisadores estáticos para identificar problemas potenciais em programas Python existentes após a remoção do GIL
  • Alguns comentaristas comparam a evolução do Python com a do OCaml e se perguntam se há semelhanças entre os dois projetos
  • Debate sobre o foco atual em um Python sem GIL; alguns defendem melhor desempenho em single-thread em vez de multithreading verdadeiro
  • Alguns comentaristas sugerem manter o GIL, mas introduzir Workers semelhantes aos do JavaScript, com cada worker thread sendo uma VM isolada com seu próprio GIL
  • Também há discussão sobre a longa e difícil transição do Python 2 para o Python 3, e alguns sugerem que a comunidade Python poderia ter aproveitado essa oportunidade para promover mudanças maiores no interior do interpretador
  • Curiosidade sobre aplicações e serviços que poderiam se beneficiar do Python sem GIL, e sobre o que os desenvolvedores esperam desse desenvolvimento