Condividi tramite


Qual è il costo delle prestazioni della traccia software?

In generale, il costo delle prestazioni della traccia software è molto ridotto. Il codice è ridotto a icona, i buffer vengono gestiti in modo efficiente e i messaggi vengono scritti in formato binario. Inoltre, la formattazione dei messaggi di traccia, che è un grande svuotamento delle prestazioni, viene posticipata fino a quando l'utente non sceglie di formattare e visualizzare i messaggi di traccia.

Quando si usano macro di traccia software WPP per aggiungere traccia software a un driver, non vi è quasi alcun costo per le prestazioni, a meno che il provider non sia abilitato per una sessione di traccia.

Le macro WPP ammontano a tre controlli condizionali all'interno di un'istruzione If al codice di traccia software. Questi controlli impediscono la generazione di messaggi di traccia a meno che il provider non sia abilitato. Le macro WPP generano codice nel formato seguente:

If (WPP_CHECK_INIT && WPP_LEVEL_FLAGS_ENABLED) {
    Call trace_message_routine
}

In questo codice generato WPP_CHECK_INIT è costituito da un controllo condizionale. WPP_LEVEL_FLAGS_ENABLED è costituito da un controllo condizionale, se è disponibile un solo filtro di livello o flag. In caso contrario, WPP_LEVEL_FLAGS_ENABLED è costituito da due controlli condizionali.

Per altre informazioni su come escludere il controllo WPP_CHECK_INIT per ottenere prestazioni migliori, vedere È possibile ottimizzare i controlli condizionali generati dalle macro WPP prima della traccia?

Nota

Se si usano metodi diversi dalla traccia software WPP per implementare la traccia software nel driver, potrebbe verificarsi un costo delle prestazioni. L'effetto dipende dal metodo di implementazione.