2010-06-08 3 views
2

모니터링 및 벤치마킹 애플리케이션을위한 Xcode 유틸리티의 툴을 알고 있지만 라이브러리 구성 요소의 여러 가지 (저수준) 구현을 테스트하고 싶습니다. osx/linux/창문. 코드 벤치마킹을위한 프레임 워크는 유닛 테스트와 유사합니까? 나는 시간과 메모리 사용량을 정확하게보고하기위한 편리한 API 함수를 원한다.간단한 크로스 플랫폼 코드 벤치마킹

답변

0

불행히도 벤치마킹 (특히 ​​타이밍)은 매우 플랫폼 별 문제입니다.

그러나 적어도 boost::date_time은 시작하기 좋은 위치 일 수있는 적어도 Windows, OS X 및 Linux에서 나노 초 타임 스탬프를 지원합니다.

공유 라이브러리가 관련되어 있다면 메모리 사용을 측정하기가 어렵지만 걱정하지 않으려는 경우 교차 플랫폼 방식으로 메모리 사용량을 추적하는 가장 쉬운 방법은 많은 tracing malloc 구현 중 하나를 사용하는 것입니다 . 이러한 도구의

없음 valgrind (+ KCachgrind)와 같은 플랫폼에 의존 도구 사용의 용이성에 가까이 오지, 또는 DTrace를, 어떤의 모든 또한 프로그램에 전적으로 외부하다는 장점이있다.

+0

Valgrind는 Linux 및 OSX에서 흥미롭고 지원됩니다. 부스트 타임 라이브러리로 간단한 프로그램을 작성하기 시작할 것입니다. –

+0

OS X Leopard가 지원되지만, Snow Leopard에 대한 Valgrind의 지원은 아직 조금 깨졌습니다. – James