Pergunta

Eu preciso de um criador de perfil C#.

Embora eu não tenha aversão a pagar por um, algo que seja gratuito ou pelo menos com uma versão de teste seria o ideal, pois leva tempo para levantar um pedido de compra.

Alguma recomendação?

Foi útil?

Solução

Você pode tentar o seguinte:


Editar:Nprof foi substituído por Slim Tune e funciona com aplicativos .Net 4.0

Outras dicas

eu usei Perfilador de formigas em um grande projeto c# há um ano e meio.Ele realmente teve um desempenho muito bom pelo que custou e até superou alguns dos concorrentes mais caros.

Ele calcula o custo com resolução quase linha por linha.

O Perfilador EQATEC é muito bom e é totalmente gratuito.É fácil de configurar e usar e não parece sobrecarregar muito o aplicativo.Comecei a usá-lo hoje e já encontrei alguns gargalos que não teria identificado de outra forma.

pontoTrace da JetBrains é amplamente utilizado.

Patrick Smacchia é incrível NDepend é excelente para fornecer análise estática.

Eu mantenho uma visão abrangente lista de criadores de perfil para .NET em SharpToolbox.com.

Você encontrará lá as ferramentas sugeridas aqui e muito mais, cada uma com uma breve descrição do que propõe.

É interessante que ninguém mencione que existe um nas versões mais avançadas do Visual Studio - sempre achei isso bom o suficiente para perfis de execução.Para perfil de memória eu uso o Memory Profiler que já foi mencionado, mas não é o que eu geralmente descreveria como 'um criador de perfil'.

Que tipo de perfil você estava tentando fazer?

Nós usamos Perfilador de formigas onde eu trabalho.Fornece informações muito detalhadas de maneira simples.

Nós usamos Perfilador de memória .NET.É meio feio, mas muito útil para encontrar referências pendentes.

Eu originalmente tentei Perfil ANTS da Red Gate o que é muito sexy, mas do ponto de vista do vazamento de memória é uma droga pelos seguintes motivos:

1) É ridiculamente lento.Demorou meia hora para colocar o aplicativo em estado de iniciar a gravação (leva 20 segundos sem portão vermelho).

2) Red Gate precisa executar sua própria ferramenta em sua própria ferramenta.Ele estava usando 900 MB de memória quando terminei dois snapshots!Depois travou :(

No entanto, o componente de tempo do Red Gate ANTS foi impressionante.Apenas não se preocupe com o criador de perfil de memória, a menos que você esteja lidando com um aplicativo trivial (pequeno espaço ocupado).

Eu usei o AQtime e ele nunca me decepcionou.Tenho certeza de que existe uma versão de teste.

Eu vou segundo perfilador ANTS do red gate.Eu o usei para rastrear alguns problemas de desempenho realmente preocupantes e era muito simples de usar (baixa curva de aprendizado) e apresentava dados detalhados e agradáveis ​​de uma forma fácil de entender.O preço vale a pena, mas não é de graça...

O incrível NDepend de Patrick Smacchia é excelente para fornecer análises estáticas.

Eu recomendaria totalmente o NDepend para análise estática, mas esteja avisado que você provavelmente precisará reservar um ou dois dias para realmente analisar o caminhão de informações que ele fornece, bem como descobrir o que todas as estatísticas realmente significam em termos de seu código.

Tive boa sorte com o criador de perfil de memória .NET

O profiler EQATEC fez o trabalho aqui.

A versão atual do SharpDevelop (3.1.1) tem um bom perfilador integrado.É bastante rápido e integra-se muito bem ao IDE SharpDevelop e ao seu executor NUnit.Os resultados são exibidos em um estilo flexível de Árvore/Lista (use LINQ para criar sua própria seleção).Clicar duas vezes no método exibido vai diretamente para o código-fonte.

Atualmente não os uso, um amigo meu elogia o perfilador Ants.Eu sei que é um produto pago, não tenho certeza de quão caro.Se acontecer de você contratar um MVP, você poderá aproveitar isso para obter uma licença gratuitamente.

AQTime (desempenho e memória) ou ANTS (perfilador de desempenho v4 ou perfilador de memória beta v5) aqui.

Eu encontrei o Perfilador de memória .NET ontem, e devo dizer que estou muito impressionado com isso.
Vou solicitar minha licença hoje.

Embora não seja muito bom para criar perfil de uso de memória, o criador de perfil incluído em algumas versões do Visual Studio faz um trabalho muito bom ao criar perfil de velocidade de execução.

Qual é o seu objetivo?

Seu objetivo é localizar declarações específicas e ter uma ideia aproximada de como elas estão contribuindo para o seu tempo total de execução, para que você possa encontrar maneiras de fazê-las de maneira diferente?

Para isso, juro por este método.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top