BT

MonoTouch para iOS adiciona novo coletor de lixo e profiler de memória

por Jonathan Allen , traduzido por Rafael Sakurai em 28 Fev 2012 |

O MonoTouch para iOS agora suporta o SGen, um coletor de lixo geracional, que até pouco tempo atrás era uma opção experimental disponível apenas na versão completa do Mono. O produto vem acompanhado também de um profiler de memória para o iOS, acessível através da IDE MonoDevelop.

O SGen substitui o Boehm (coletor de lixo tradicional) do Mono. Espera-se um desempenho melhor, mas o SGen ainda sofre com sua análise (scanning) conservadora. Pretende-se futuramente trocar o sistema de análise do SGen para um sistema de marcação precisa de stack, que possa reduzir a fragmentação da região de memória onde ficam os objetos pequenos, recém-criados no berçário (nursery).

O profiler do iOS suporta dois modos, sendo o padrão o de Análise de Heap. Neste modo, capturas de memória (snapshots) podem ser feitas sob demanda, ou através de um trigger (gatilho). Este trigger pode ser configurado para disparo após um determinado número de ciclos do coletor de lixo, ou a cada intervalo de tempo. São incluídas funcionalidades comuns, como a comparação de snapshots e a determinação na posição do objeto na memória e suas conexões com outros objetos.

A Análise de Desempenho suporta a geração de estatísticas por amostragem e o registro de eventos de entrada/saída . A geração de estatísticas tira uma "foto" da aplicação e estima a velocidade de cada método, com base em quantas vezes foi capturado na amostragem. O registro de eventos de entrada e saída registra um log de entrada, cada vez que uma função inicia ou termina. Isto cria um histórico detalhado de quanto tempo foi gasto, mas tem um sério custo de desempenho. O modo de análise de desempenho pode também capturar os stack-traces associados à alocação de objetos.

Os releases MonoDevelop 2.8.5 e MonoTouch 5.1.1 são obrigatórios para usar o profiler. As opções de depuração, profiling e o coletor de lixo SGen devem ser habilitadas.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT