프로파일링 매 커 니즘 ( 200 ) 은 프로세서 아키텍처 를 확장 시켜 사용 자 모드 ( CPL 3 ) 프로세스 들 이 매우 낮 은 오버헤드 로 그 들 자신 에 대한 성능 데이터 를 수집 할 수 있 도록 한다 . 예 를 들 어 , 동적 최적 화 기 ( dynamic optimizer ) 들 과 같 은 모듈 들 및 관리 되 는 런타임 환경 들 이 높 은 정밀 도 및 분해능 으로 현재 실행 되 는 프로그램 을 모니터링 할 수 있 도록 활성 화 될 수 있 고 , 그럼 으로써 이 들 로 하여금 성능 문제 및 기회 에 관해 보 고 할 수 있 도록 하 여 이것 을 즉시 수정 하 도록 할 수 있 다 . 아키텍처 확장 은 프로그램 이 성능 데이터 를 수집 할 수 있 게 하 고 , 그리고 이것 을 폴링 ( polling ) 에 의해 또는 비 정기 적 인터럽트 를 취함 으로써 검사 할 수 있 게 한다 . 이것 은 CPU 및 프로세스 에 최소 의 부가 적 상태 가 도입 되 게 한다 . 이것 은 성능 피드백 사용 의 오버헤드 를 상당 량 감소 시키 면서 매우 많 은 데이터 량 이 인터럽트 없이 수집 될 수 있 도록 한다는 점 에서 종래 의 성능 카운터 들 과 는 다르 다 . 특히 , 일 실시 예 에서 , 본 명세서 에서 설명 되 는 프로파일링 매 커 니즘 ( 200 ) 은 어떠 한 데이터 수집 인터럽트 들 을 전혀 요구 하 지 않 는 폴링 방식 과 함께 사용 될 수 있 다 . 프로파일링 매 커 니즘 ( 200 ) 은 사용 자 모드 프로그램 으로 하여금 드라이버 를 호출 함 이 없이 자신 의 데이터 수집 을 제어 하 도록 할 수 있 으며 , 이것 은 데이터 수집 하드웨어 혹은 소프트웨어 와 상호 작용 하 는 소프트웨어 루틴 일 수 있 다 . 마지막 으로 , 프로파일링 매 커 니즘 ( 200 ) 은 쓰레드 와 관련 하 여 실행 될 수 있 어 , 시스템 내 에서 동시 에 복수 의 프로세스 들 에 의해 사용 될 수 있 다 .