Qual é o melhor criador de perfil C++ gratuito para Windows?[fechado]
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.
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.
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.