Pergunta

Estou procurando um criador de perfil para encontrar o gargalo no meu código C++.Gostaria de encontrar uma ferramenta de criação de perfil gratuita, não intrusiva e boa.Sou desenvolvedor de jogos e uso o PIX para Xbox 360. Achei-o muito bom, mas não é gratuito.Eu conheço a Intel VTune, mas também não é gratuito.

Foi útil?

Solução

CódigoXL agora substituiu o End Of Line'd Analista de Código AMD e ambos são gratuitos, mas não tão avançados quanto o VTune.Há também Com sono, que é muito simples, mas funciona em muitos casos.

Outras dicas

Muito sonolento é um criador de perfil de CPU C/C++ para sistemas Windows (gratuito).
CppCheck é um criador de perfil de CPU C/C++ estático para sistemas Windows (gratuito).

Proffy é bem legal: http://pauldoo.com/proffy/

Isenção de responsabilidade:Eu escrevi isto.

Existe um perfilador de instrumentação (com precisão de função) para MS VC 7.1 e superior chamado MicroProfiler. Você pode obtê-lo aqui (x64) ou aqui (x86).Isto não requer quaisquer modificações ou acréscimos ao seu código e é capaz de exibir estatísticas de função com chamadores e receptores em tempo real sem a necessidade de fechar o aplicativo/interromper o processo de criação de perfil.

Ele se integra ao VisualStudio, para que você possa ativar/desativar facilmente o perfil de um projeto.Também é possível instalá-lo na máquina limpa, bastando apenas que as informações do símbolo estejam localizadas junto com o executável que está sendo perfilado.

Esta ferramenta é útil quando a aproximação estatística de criadores de perfil de amostragem como Very Sleepy não é suficiente.

Uma comparação aproximada mostra que ele supera o AQTime (quando é invocado na instrumentação, execução em nível de função).O programa a seguir (otimização total, inlining desabilitado) é executado três vezes mais rápido com o micro-profiler exibindo resultados em tempo real, do que com o AQTime simplesmente coletando estatísticas:

void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}

A Microsoft tem o Kit de ferramentas de desempenho do Windows.

Requer Windows Vista, Servidor Windows 2008, ou Windows 7.

Uma nova adição é Brilhante.

​​​​​

Eu recomendo Kit de ferramentas de desempenho do Windows (WPT) ou XPERF

A ferramenta de linha de comando xperf da linha de comando registra logs de rastreamento de eventos para Windows (ETW) que podem ser analisados ​​usando a ferramenta GUI xperfview.

Usando argumento de linha de comando stacktrace provou ser uma ferramenta inestimável para minha empresa, pois traça perfis e soluciona gargalos.Uma das coisas mais atraentes é que o WPT pode ser instalado em qualquer ambiente, mesmo nos veneráveis janelas XP.

Sobre Windows 8, o Analisador de Desempenho do Windows leva o xperf a um nível ainda mais alto.

Os números concretos e estatísticas fornecidos nos logs do ETW são incomparáveis ​​em detalhes, exceto para o visual studio profiler (2010/2012), que também é ótimo, mas não é gratuito, AFAIK.

Se você nunca usou xperf...você não sabe o que está perdendo

Eu uso o AQTime, é uma das melhores ferramentas de criação de perfil que já usei.Não é gratuito, mas você pode obter um teste de 30 dias, portanto, se você planeja otimizar e criar perfis de apenas um projeto e 30 dias são suficientes para você, eu recomendaria usar este aplicativo.(http://www.automatedqa.com/downloads/aqtime/index.asp)

Por favor, tente meu criador de perfil, chamado cRunWatch.São apenas dois arquivos, por isso é fácil de integrar com seus projetos e requer a adição de exatamente uma linha para instrumentar um trecho de código.

http://ravenspoint.wordpress.com/2010/06/16/timing/

Requer a biblioteca Boost.

eu usei Lucas Stackwalker e funcionou para meu projeto do Visual Studio.

Outros projetos interessantes são:

Eu uso o "TrueTime - parte do pacote DevPartner da Compuware há anos.Há uma [versão gratuita] (você pode experimentar o Compuware DevPartner Performance Analysis Community Edition.) disponível.

Eu uso o VSPerfMon, que é o StandAlone Visual Studio Profiler.Eu escrevi uma ferramenta GUI para me ajudar a executá-la e ver os resultados.

http://code.google.com/p/vsptree/

Você pode usar o EmbeddedProfiler, é gratuito para Linux e Windwos.

O criador de perfil é intrusivo (por funcionalidade), mas não requer nenhuma modificação no código.Basta adicionar um sinalizador de compilador específico (-finstrument-functios para gcc/MinGW ou /GH para MSVC) e vincular a biblioteca do criador de perfil.Ele pode fornecer uma árvore de chamadas completa ou apenas uma lista de funções.Possui sua própria GUI do analisador.

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