다음을 통해 공유


소프트웨어 추적의 성능 비용은 어떻게 되나요?

일반적으로 소프트웨어 추적의 성능 비용은 매우 적습니다. 코드가 최소화되고 버퍼가 효율적으로 관리되며 메시지가 이진 형식으로 작성됩니다. 또한 큰 성능 저하인 추적 메시지의 서식 지정은 사용자가 추적 메시지의 서식을 지정하고 표시하도록 선택할 때까지 지연됩니다.

WPP 소프트웨어 추적 매크로를 사용하여 드라이버에 소프트웨어 추적을 추가하는 경우 공급자가 추적 세션에 대해 사용하도록 설정되지 않는 한 성능 비용이 거의 없습니다.

WPP 매크로는 소프트웨어 추적 코드에 대한 If 문 내의 세 가지 조건부 검사에 해당합니다. 이러한 검사는 공급자를 사용하도록 설정하지 않는 한 추적 메시지가 생성되지 않도록 방지합니다. WPP 매크로는 다음 형식으로 코드를 생성합니다.

If (WPP_CHECK_INIT && WPP_LEVEL_FLAGS_ENABLED) {
    Call trace_message_routine
}

이 생성된 코드에서 WPP_CHECK_INIT 하나의 조건부 검사 구성됩니다. WPP_LEVEL_FLAGS_ENABLED 한 수준 또는 플래그 필터만 있는 경우 하나의 조건부 검사 구성됩니다. 그렇지 않으면 WPP_LEVEL_FLAGS_ENABLED 두 개의 조건부 검사로 구성됩니다.

성능 향상을 위해 WPP_CHECK_INIT 검사 제외하는 방법에 대한 자세한 내용은 WPP 매크로가 추적하기 전에 생성하는 조건부 검사를 최적화할 수 있나요?를 참조하세요.

참고

WPP 소프트웨어 추적 이외의 방법을 사용하여 드라이버에서 소프트웨어 추적을 구현하는 경우 성능 비용이 발생할 수 있습니다. 효과는 구현 방법에 따라 달라집니다.