Pular para o conteúdo

Memória

O coletor sob controle, o layout de um objeto, o escopo e a posse — num runtime que gerencia a memória por você.

DataForge roda sobre o CPython, e a memória é gerenciada: ninguém chama free. O que se controla é o coletor — quando ele roda, e o que ele deixa para trás — e o protocolo de um recurso: quem é dono, quem empresta, quem solta.

dataforge
adopt Arcane.Memoria as Mem

assert Mem.gc_ligado()
Mem.sem_gc(lambda => [i * 2 cycle i in range(1000)])   // um trecho sem pausas do coletor
assert Mem.gc_ligado()                                  // religado, mesmo se a ação falhasse