특정 C 데이터 구조의 실제 메모리 소비를 측정하는 효율적인 방법이 있는지 알고 싶습니다.메모리 소비를 어떻게 벤치마킹합니까?
목표는 해당 데이터 구조에 대한 특정 조작 후에 메모리 사용이 어떻게 바뀌는지를 기준으로 벤치 마크를 작성하는 것입니다.
나는 사용중인 객체의 수를 세는 방법을 찾지 않습니다. 스트레스를받는 객체의 메모리 사용량이 얼마나 큰지 정확히 알고 싶습니다.
C 코드 나 외부에서 표준 방법이 있습니까? (time
(1) 유틸리티에 해당하는 것이 시작일 것입니다).
분명히 모든 단일 포인터를 추적하고 모두 sizeof
의 합계를 수행 할 수 있습니다. 이것이 유일한 방법이라면 제게 말해주세요. 나는 더 간단한 방법이 있는지 궁금해. 아니면 나를 위해 그것을 할 도서관.
나는 perl 스크립트로 mtrace의 출력을 구문 분석하여 그러한 추적을 수행했습니다. mtrace는 glibc의 malloc 추적자에 내장되어 있습니다. 작은 .so 라이브러리를 미리로드하여 활성화 할 수 있습니다. http://stackoverflow.com/q/2593284/196561 – osgx
이 항목은 도움이됩니다. [benchmarks-used-to-test-ac-and-c-allocator] [ 1] [1] : http://stackoverflow.com/questions/2560114/benchmarks-used-to-test-ac-and-c-allocator – malinois
"나는를 계산하는 방법을 추구하지 않습니다 사용중인 객체의 수 "객체의 수와 크기를 알면 메모리 소비를 알 수 있으며, exaxtly 무엇을 의미합니까? –