É possível usar vtune em determinados trechos de código em um binário e não em um binário inteiro?

Estou adicionando o uso de uma pequena biblioteca a um grande software existente e gostaria de analisar (no detalhamento do localizador do que apenas as chamadas in & out rdtsc () ou gettimeofday) a sobrecarga e a atribuição da pequena biblioteca. Usando coisas como rdtsc () eu posso ter uma noção da latência que as funções de minhas bibliotecas têm, mas não posso fazer a atribuição de latência a menos que eu também consiga ver se os ramos não estão sendo bem previstos, se o cache não está funcionando corretamente, etc. Eu olhei para o PAPI como eu imaginava olhando para certos eventos de hardware entrando e saindo de uma rotina na minha biblioteca dentro do contexto do binário maior mas parece que eu precisaria de um módulo específico do kernel para o PAPI funcionar para mim (Linux 2.6. 18 && Intel Xeon 5570) ... existe o Vtune que é especificamente voltado para processadores Intel, mas parece que é algo que faria o perfil de todo o binário para performance e não trechos de código específicos (as chamadas 3-4 em minha biblioteca).

Existe uma maneira de eu usar o Vtune para meu objetivo, ou possivelmente algo que possa me dar acesso a esses contadores sem ter que corrigir meu kernel?

questionAnswers(2)

yourAnswerToTheQuestion