Quaisquer decifradores C # decentes lá fora?

Eu preciso de um profiler C #.

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

Alguma recomendação?

    Você pode tentar o seguinte:

    • nprof (grátis, mas meio velho)
    • ProfileSharp (código aberto)
    • .Net Memory Profiler (muito bom para vazamentos de memory, há uma versão de teste)

    Editar: Nprof foi substituído pelo SlimTune e funciona com aplicativos .Net 4.0

    Eu usei o Ants profiler em um grande projeto c # há um ano e meio atrás. Realmente funcionou muito bem para o que custou, e até superou alguns dos competidores mais caros.

    Calcula o custo com quase uma linha por linha de resolução.

    O profiler EQATEC é muito bom e é totalmente gratuito. É fácil de configurar e usar, e não parece adicionar muita sobrecarga ao aplicativo. Eu comecei a usá-lo hoje e já encontrei alguns gargalos que eu não teria visto de outra forma.

    O dotTrace da JetBrains é amplamente utilizado.

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

    Eu mantenho uma lista abrangente de profilers para .NET no SharpToolbox.com.

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

    É interessante que ninguém mencione que há uma nas versões mais avançadas do Visual Studio – sempre achei que isso era bom o suficiente para o perfil de execução. Para o perfil de memory eu uso o Memory Profiler que já foi mencionado, mas não é o que eu geralmente descreveria como ‘um profiler’.

    Que tipo de perfil você estava tentando fazer?

    Nós usamos o perfil de Ants onde eu trabalho. Ele fornece informações muito detalhadas de maneira simples.

    Nós usamos o .NET Memory Profiler . É meio feio, mas muito útil para encontrar referências pendentes.

    Eu originalmente tentei o profiler ANTS da Red Gate, que é muito sexy, mas de um ponto de vista de memory leaks, é uma droga pelas seguintes razões:

    1) É ridiculamente lento. Levava meia hora para colocar o aplicativo em um estado para iniciar a gravação (demora 20 segundos sem o gate vermelho).

    2) Red Gate precisa executar sua própria ferramenta em sua própria ferramenta. Ele estava usando 900MB de memory quando terminei dois snapshots! Em seguida, caiu 🙁

    No entanto, o componente de temporização do Red Gate ANTS foi impressionante. Apenas não se incomode com o profiler de memory, a menos que você esteja lidando com uma aplicação trivial (pequena pegada).

    Eu usei o AQtime e ele nunca me decepcionou. Tenho certeza de que há uma versão experimental.

    Eu vou segundo perfil ANTS do Red Gate . Eu usei-o 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 maneira que era fácil de entender. O preço vale a pena, mas não é grátis …

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

    Eu recomendaria completamente NDepend para análise estática, mas apenas seja avisado que você provavelmente precisará deixar de lado um dia ou dois para realmente analisar o caminhão de informações que ele fornece, bem como descobrir o que todas as statistics realmente significam em termos de seu código.

    EQATEC profiler fez o trabalho aqui.

    A versão atual do SharpDevelop (3.1.1) possui um bom gerenciador de perfil integrado. É bastante rápido e se integra muito bem ao IDE do SharpDevelop e ao seu NUnit runner. Os resultados são exibidos em um estilo de tree / lista flexível (use o LINQ para criar sua própria seleção). A duplicação do método exibido salta diretamente para o código-fonte.

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

    Eu tive boa sorte com o profiler de memory .NET

    AQTime (tanto perf e memory) ou ANTS (profiler de desempenho v4 ou profiler de memory beta v5) aqui.

    Eu encontrei o .NET Memory Profiler ontem, e devo dizer que estou muito impressionado com isso.
    Vou pedir minha licença hoje.

    Embora não seja muito bom para o perfil de uso de memory, o profiler incluído em algumas versões do Visual Studio faz um trabalho muito bom de perfil de velocidade de execução.

    Qual o seu objective?

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

    Por isso, juro por este método.

    O SlimTune parece ser muito promissor. http://code.google.com/p/slimtune/