BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias MonoTouch para iOS adiciona novo coletor de lixo e profiler de memória

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

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.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT