옥타브는 함수 단위 수준에서 부호 실행 성능 분석을 지원합니다. 성능 분석을 켜면, 각 함수 호출(부호 안에 있는 내장 함수, 연산자, oct·mex 기록철, 사용자 정의 함수와 익명 함수 지원)을 옥타브 부호 실행 중에 기록합니다. 기록하고 나면, 이 기록 자료가 부호 행위 분석에 도움을 주고, 특히 연산 시간을 많이 잡아 먹어 최적화 수고를 들일 가장 좋은 부위를 찾는데 도움을 줍니다.
성능 분석용 주요 명령은 성능 분석기를 켜고 끄며, 모은 자료를 조회하는 profile
입니다. 성능 분석 자료는
다른 방법 또는 도구로 분석하거나 가공할 수 있는 옥타브 자료 구조체에 담겨 반환됩니다.
내장 성능 분석기를 제어합니다.
profile on
만약에 이전에 모은 자료가 있으면 모두 지우고, 성능 분석기를 시작합니다.
profile off
성능 분석을 멈춥니다. 모은 자료는 나중에 T = profile ("info")
로 찾아
분석할 수 있습니다.
profile clear
모은 모든 성능 분석 자료를 지웁니다.
profile resume
이전 자료를 지우지 않고 성능 분석을 다시 시작합니다. 새로 모은 모든 수치는 기존 자료에 더해집니다.
S = profile ("status")
현재 성능 분석기 상태 정보에 대한 구조체를 반환합니다. 이 구조체에는 "on"
또는 "off"
인 ProfilerStatus
기록란만 존재합니다.
T = profile ("info")
모은 성능 분석 수치를 구조체 T에 담아 반환합니다. 정리한 성능 분석 수치는 각 항목이 호출하였고 성능 분석한
수치가 존재하는 함수에 대응하는 FunctionTable
기록란이 있는 구조체 배열로 반환됩니다. 추가로
Hierarchical
기록란은 계층적인 호출 나무꼴을 포함합니다. 나무꼴의 각 마디에는 FunctionTable
에
대응하는 함수를 식별하는 색인과 .해당 호출 나무꼴 계층에서의 호출 횟수 및 소요 시간에 관한 자료를 담은 기록란이 있습니다.
같이 보기: profshow, profexplore.
모은 자료의 요약을 쉽게 보는 방법으로는
profshow
가 있습니다. 이 함수는
profile
이 반환한 성능 분석기 자료를 입력받아 정리한 성능 분석을 출력합니다. 예시:
Function Attr Time (s) Calls ---------------------------------------- >myfib R 2.195 13529 binary <= 0.061 13529 binary - 0.050 13528 binary + 0.026 6764
위 표는 실행에 걸린 시간 대부분을 함수 ‘myfib’가 차지하고 약간의 나머지 시간은 나열한 이항 연산자가 차지함을 보여줍니다. 더욱이 함수가 얼마나 많이 호출되었는지와 성능 분석기가 재귀 여부도 기록함을 보여줍니다.
정리한 함수 단위 성능 분석 결과를 보여줍니다.
성능 분석 자료(실행에 걸린 시간, 호출 횟수)에서 가장 중대한 n개 함수를 출력합니다. 각 함수가 쓴 시간의 총합을 내림차순으로 정렬하여 결과를 냅니다. n을 주지 않으면, 기본으로 20을 씁니다.
입력 자료는 profile ("info")
가 반환한 구조체입니다. 주지
않으면, profshow
가 현재 존재하는 성능 분석 자료 집합을 씁니다.
재귀 함수에는 속성 열에 ‘R’이 붙고, 나머지 함수는 속성 열에 아무것도 없습니다.
같이 보기: profexplore, profile.
성능 분석 자료를 초글월조판언어로 내보냅니다.
자료에 있는 자료를 자료방 서류철의 여러 초글월조판언어 기록철로 내보냅니다. 어귀 기록철은 자료/index.html입니다.
문자열 이름을 주면, 성능 분석을 내보낼 “이름”이 됩니다. 이 이름은 초글월조판언어에 포함됩니다.
입력 자료는 profile ("info")
가 반환하는 구조체입니다. 주지
않으면, profexport
는 현재 성능 측정 자료 집합을 사용합니다.
같이 보기: profshow, profexplore, profile.
계층적 성능 분석 출력을 대화형으로 탐색합니다.
자료로
profile ("info")
가 반환한 구조체를 쓰면, 이 명령이 호출 나무꼴을 탐색하는 대화형
길잡이를 엽니다. 가능한 명령 목록을 보려면 help을 타자합니다. 자료를 주지 않으면, profile ("info")
를
호출하여 그 자리에서 씁니다.