시스템 통계

시스템 통계

메모리 사용과 실행 시간 통계를 얻는 술어들을 설명해요.

출처: GNU Prolog Manual - System statistics

본문

statistics/0, statistics/2

Templates

statistics
statistics(?atom, ?list)

Description statistics는 메모리 사용과 실행 시간에 대한 통계를 표시해요.

statistics(Key, Value)는 통계 키 Key의 현재 값과 Value를 통일해요. Value는 두 요소의 리스트예요. 시간은 밀리초, 영역 크기는 바이트 단위예요.

Key 설명
user_time 사용자 CPU 시간 [SinceStart, SinceLast]
system_time 시스템 CPU 시간 [SinceStart, SinceLast]
cpu_time 총 CPU 시간(사용자 + 시스템) [SinceStart, SinceLast]
real_time 절대 시간 [SinceStart, SinceLast]
local_stack 지역 스택 크기(제어, 환경, 선택) [UsedSize, FreeSize]
global_stack 전역 스택 크기(복합 항) [UsedSize, FreeSize]
trail_stack 트레일 스택 크기(취소할 변수 바인딩) [UsedSize, FreeSize]
cstr_stack 제약 트레일 크기(유한 도메인 제약) [UsedSize, FreeSize]
atoms 원자 테이블 [NumberOfAtoms, FreeNumberOfAtoms]

참고로 호환성 목적으로 키 runtimeuser_time으로 인식돼요.

Errors

  • Key가 변수도 유효한 키도 아님 — domain_error(statistics_key, Key)
  • Value가 변수도 두 요소의 리스트도 아님 — domain_error(statistics_value, Value)
  • Value가 두 요소의 리스트이고 어떤 요소 E가 변수도 정수도 아님 — type_error(integer, E)

Portability: GNU Prolog 술어.

user_time/1, system_time/1, cpu_time/1, real_time/1

Templates

user_time(?integer)
system_time(?integer)
cpu_time(?integer)
real_time(?integer)

Description

  • user_time(Time) — Time과 Prolog 시작 이후 경과된 사용자 CPU 시간을 통일.
  • system_time(Time) — Time과 Prolog 시작 이후 경과된 시스템 CPU 시간을 통일.
  • cpu_time(Time) — Time과 Prolog 시작 이후 경과된 CPU 시간(사용자 + 시스템)을 통일.
  • real_time(Time) — Time과 Prolog 시작 이후 경과된 절대 시간을 통일.

Errors

  • Time이 변수도 정수도 아님 — type_error(integer, Time)

Portability: GNU Prolog 술어.

더 알아보기