Pergunta

Eu gostaria de poder ver como cada tópico "caro" no meu aplicativo está usando o CallGrind. Eu perfilei com o --separate-thread=yes Opção que fornece um arquivo CallGrind para o aplicativo inteiro e, em seguida, um por thread.

Isso é útil para visualizar o perfil de qualquer tópico, mas o que eu realmente quero é apenas uma lista classificada do tempo da CPU de cada thread para que eu possa ver quais threads são os maiores porcos.

Foi útil?

Solução

Valgrind/CallGrind não permite esse comportamento. Nem KcacheGrind faz, mas acho que será uma boa melhoria. Talvez algumas respostas possam ser encontradas na lista de correspondência.

Um trabalho Mas realmente chato maneira poderia ser usar a opção --separate-thread=no, e atualize seu código a ser usado para cada thread a diferente Nome da função ou nome da classe. Dependendo da sua complexidade do código, pode ser a resposta (usando 1Computedata (), 2Computedata (), ..)

Outras dicas

Basta abrir vários perfis em Kcachegrind ao mesmo tempo.

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