Pergunta

tubarão no Mac OS X é uma grande ferramenta para perfilar um aplicativo em um sistema de execução. Existe quaisquer ferramentas semelhantes para Linux?

OProfile parece que poderia ser, alguém usou?

Foi útil?

Solução

OProfile é uma ferramenta que faz a amostragem baseada-profiling de tanto a sua aplicação e as chamadas de sistema que faz. Isto permite ver informações detalhadas sobre onde ele está gastando o tempo. Ele não tem uma interface gráfica, mas existem vários front-ends que lhe permitirá processar a informação das pistas.

Eu usei-o extensivamente, tanto para desktop e aplicações para sistemas embarcados. É preciso um pouco de esforço para interpretar os resultados, mas a saída callgraph é realmente útil aqui.

Outras dicas

Estendendo outra resposta, eu uso a opção 'callgrind' de valgrind ( http://valgrind.org ). Em seguida, instale kcachegrind do KDE para uma interface agradável GUI.

Como um tutorial manequim, fazer:

1) compilar o aplicativo com informações de depuração. É uma boa idéia para tentar perfilar com a otimização dentro e fora, com a otimização fora de você irá obter mais informações, mas pode ser menos precisas (em particular funções minúsculos parece que vai demorar mais tempo do que eles merecem.

2) Executar com:

valgrind --tool=callgrind <name of your app> <your app's options>

Isso deve produzir um arquivo chamado 'callgrind.something', que você pode carregar em kcachegrind.

Você também pode olhar em:

valgrind --tool=cachegrind <name of your app> <your app's options>

O que vai lhe dar informações sobre como seu aplicativo está interagindo com o cache do seu CPU.

Note que, enquanto valgrind e tubarão parecer aplicativos semelhantes, eles funcionam de forma muito diferente. Quando você executar um aplicativo em valgrind ele será executado muitas vezes mais lento do que o normal (muitas vezes mais de 40 vezes mais lento), mas os resultados que obtém são muito mais precisos do que o tubarão. I tendem a usar os dois, para que eu possa obter o máximo de informação possível!

Você pode provavelmente tentar Valgrind ( http://valgrind.org/ ). Eles têm tanto ferramentas de tempo de perfis de compilação de tempo de execução e.

Um pouco tarde para responder a este, mas a resposta mais próxima é Zoom . Alguns da equipe de Tubarão trabalhou com ele.

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