Qual é o custo de desempenho do rastreamento de software?
Em geral, o custo de desempenho do rastreamento de software é muito pequeno. O código é minimizado, os buffers são gerenciados com eficiência e as mensagens são gravadas em formato binário. Além disso, a formatação de mensagens de rastreamento, que é um grande esvaziamento de desempenho, é adiada até que o usuário opte por formatar e exibir as mensagens de rastreamento.
Quando você usa macros de rastreamento de software WPP para adicionar rastreamento de software a um driver, quase não há nenhum custo de desempenho, a menos que o provedor esteja habilitado para uma sessão de rastreamento.
As macros do WPP equivalem a três verificações condicionais dentro de uma instrução If para o código de rastreamento de software. Essas verificações impedem que qualquer mensagem de rastreamento seja gerada, a menos que o provedor esteja habilitado. As macros do WPP geram código no seguinte formulário:
If (WPP_CHECK_INIT && WPP_LEVEL_FLAGS_ENABLED) {
Call trace_message_routine
}
Nesse código gerado, WPP_CHECK_INIT consiste em uma marcar condicional. WPP_LEVEL_FLAGS_ENABLED consiste em uma marcar condicional, se você tiver apenas um filtro de nível ou sinalizador. Caso contrário, WPP_LEVEL_FLAGS_ENABLED consiste em duas verificações condicionais.
Para obter mais informações sobre como excluir o WPP_CHECK_INIT marcar para melhorar o desempenho, consulte Posso otimizar as verificações condicionais que as macros do WPP produzem antes do rastreamento?.
Observação
Pode haver algum custo de desempenho se você usar métodos diferentes do rastreamento de software WPP para implementar o rastreamento de software em seu driver. O efeito depende do método de implementação.