ExpertiDict

Ruby · Avançado · Inglês · Técnico

garbage collector

/ˈɡɑrbɪdʒ kəˈlɛktɚ/substantivo

Parte da VM que recupera a memória de objetos sem referências. O do CRuby é geracional, incremental e usa marcação e varredura, com pausas curtas na maioria dos casos.

Onde usar

Importa ao investigar uso de memória e pausas. Em produção, GC.stat e ObjectSpace mostram objetos alocados; reduzir alocações costuma ajudar mais do que ajustar variáveis de ambiente do GC.

Em código

antes = GC.count
100_000.times { 'x' * 100 }
GC.start
puts GC.count - antes > 0   # => true
puts GC.stat[:total_allocated_objects] > 0

Exemplos

The garbage collector pauses were small after we cut allocations.

As pausas do garbage collector ficaram pequenas depois que cortamos alocações.

Don't call GC.start in production code.

Não chame GC.start em código de produção.

Cuidado

Não é preciso nem possível liberar objetos à mão: chamar GC.start em código de aplicação raramente ajuda.

Sinônimos

GC, coletor de lixo

Veja também

Todos os termos de Ruby