2010-12-01 2 views
1

주어진 C 코드가 프로세서 캐시를 얼마나 효율적으로 사용하는지 결정하고 가능한 경우 캐시에있는 데이터와 주 메모리에 저장되어있는 데이터를 결정하고 싶습니다. 멋지다) - 거기에 소프트웨어가 있습니까?C 코드의 프로세서 캐시 효율성 결정

이것이 스택 오버 플로우에 적합하지 않을 수 있음을 알고 있습니다. 물론 필자가 작성한 코드를 테스트하는 도구로 사용할 때 프로그래밍과 관련이 높습니다. 더 적절한 장소가 있다면,이 질문을 알려주십시오.

또한 Mac OS X/UNIX 용으로 소프트웨어를 선호합니다.

감사합니다.

+0

효율은 프로세서에 달려 있지 않습니다. C 컴파일러는 명령어 선택 외에 캐시 사용을 많이 제어하지 않으므로? –

+0

@ ring0 - 절대적으로, 나는 소프트웨어가 테스트되는 특정 프로세서에 적응할 것으로 기대한다. 따라서 결과는 다른 프로세서에는 적용 할 수 없다. C의 관점에서 볼 때 도구가 생성 된 디버깅 심볼을 통해 C 코드의 관점에서 캐시 미스에 대한 핫 스폿인지, 전체 데이터 구조가 캐시에 있는지 등을 나타내는 기능은 유용 할 것입니다. . – ljs

답변

3

정기적 인 시간 간격 샘플링의 대안으로 캐시 누락에 따라 프로파일을 캡처 할 수있는 다양한 프로파일 러가 있습니다. 이렇게하면 프로그램에서 캐시를 효과적으로 사용하지 않는 위치에 대한 아이디어를 얻을 수 있습니다. Mac OS X의 경우 Shark (무료 - CHUD 도구 패키지의 일부)을 확인하십시오. Linux의 경우 Zoom (상용이지만 30 일 무료 평가판 라이센스가 있음)을 시도하십시오.