30.09.2026 · Signal Titans Editorial
Desenvolvedores do Python Debatem Design de Coletor de Lixo Híbrido Geracional e Incremental
Desenvolvedores do Python discutem coletor de lixo híbrido após problemas de consumo de memória no Python 3.14.

No Python Language Summit 2026, o desenvolvedor Mark Shannon apresentou uma proposta de sistema híbrido de coleta de lixo que combina estratégias geracionais e incrementais. A apresentação ocorreu após a reversão do coletor incremental experimental do Python 3.14 de volta ao coletor geracional do Python 3.13, devido a relatos de sobrecarga significativa de memória em ambientes de produção.
Equilibrando Tempos de Pausa e Uso de Memória
O Python depende principalmente da contagem de referências para o gerenciamento de memória, utilizando seu coletor de lixo detector de ciclos como uma solução secundária que responde por aproximadamente 11,67% do tempo de execução. Embora o coletor geracional do Python 3.13 mantenha um consumo de memória geral mais baixo, ele pode sofrer com picos de tempo de pausa na coleta de lixo de cerca de três segundos. O coletor incremental introduzido para o Python 3.14 reduziu com sucesso os tempos máximos de pausa para dezenas de milissegundos, mas seu design não geracional provocou um aumento no consumo de memória em heaps de grande porte.
Shannon relatou que ambas as abordagens existentes exibem baixa eficácia de varredura — a proporção entre objetos coletados e objetos visitados —, com o coletor geracional registrando 0,3% e o coletor incremental ficando em aproximadamente 1%.
Estratégia Proposta para o Coletor Híbrido
Para resolver o impasse entre a duração das pausas e o uso de memória, Shannon detalhou uma arquitetura unificada composta por duas gerações: uma geração jovem de 20 MB e uma geração antiga. A proposta alterna varreduras incrementais entre as duas camadas e executa varreduras na geração antiga no dobro da taxa de sobrevivência da geração jovem.
Preocupações dos Desenvolvedores com Ajustes e Manutenção
Os debates no summit evidenciaram visões divergentes sobre a configuração e a manutenção do coletor de lixo. Os desenvolvedores Donghee Na e Pablo Galindo Salgado levantaram questões sobre APIs públicas de configuração e ajustes em tempo de execução para evitar bloqueios em atualizações de versão e gerenciar casos específicos. Por outro lado, Shannon e Gregory P. Smith demonstraram cautela em relação a opções de configuração no estilo Java ou ao suporte a múltiplas implementações de coletores, destacando que APIs públicas de ajuste podem limitar futuras otimizações internas no runtime e aumentar o custo de manutenção.
Ao abordar dúvidas sobre coletores de lixo concorrentes ou livres de bloqueios (lock-free), Shannon ressaltou que extensões em C apresentam desafios estruturais para designs sem bloqueio, pois podem acessar a memória diretamente sem o rastreamento do runtime.
Ilustração editorial gerada por IA; não é uma fotografia documental.
Fonte: Garbage Collection: Generational? Incremental? Both! (Python Language Summit 2026)