Existe um GC incremental disponível para mono que eu possa usar ou obter o código-fonte?

9

Estou escrevendo ferramentas para criar jogos no .NET usando o estilo funcional. Para isso, precisarei de um GC incremental ou algum tipo de GC cujos tempos de coleta sejam limitados a 1 ms ou mais. Eu li um artigo sobre um GC incremental em tempo real que é um WIP para mono, mas não consigo encontrar de qualquer maneira para ver seu código ou usá-lo - link

Para esclarecer o que quero dizer com 'GC incremental', um GC incremental divide um ciclo de coleta de lixo individual em várias fatias de trabalho que podem ser intercaladas com a execução do programa para que cada fatia possa ser processada em um período de tempo relativamente limitado. A intenção principal de um recurso de GC incremental é oferecer suporte a aplicativos em tempo real, mantendo-os consistentemente responsivos em um nível relativamente granulado. Os GCs incrementais elidem a 'pausa embaraçosa' causada por GCs mainstream, como o GC geracional do .NET. Muitos sistemas que usam GC incremental têm pausas de coleta vinculadas aproximadamente a 1ms. Isto é perfeito para jogos, já que eles precisam rodar todo o seu ciclo dentro de 16.667ms. O GC geracional .NET, OTOH, causará pausas típicas de 200 ms.

Eu realmente gostaria de evitar afundar o tempo escrevendo meu próprio GC incremental para mono, então se alguém pudesse me dizer que GCs alternativas (soft) em tempo real estão disponíveis atualmente, isso seria ótimo. Se eu precisar escrever meu próprio GC, seria ótimo ter um GC de código aberto que serviria como uma boa referência para alguém escrever seu próprio GC mono do zero.

EDIT: adição de elaboração do que se entende por GC "incremental".

    
por Bryan Edds 26.07.2012 в 14:30
fonte

1 resposta

5

Eu não sei se existe um GC incremental para Mono com fontes - mas existe um (direcionado para uma linguagem derivada de oCaml) que é tanto open source quanto parece estar focado em alto desempenho chamado HLVM . O autor, Jon Harrop, também tem um blog aqui com muitos artigos excelentes sobre coleta de lixo e tecnologias relacionadas.

Espero que isso ajude!

    
por Ani 02.08.2012 / 15:46
fonte