The Timer 구조

The Timer 구조

프로세스 CPU 시간과 실시간 경과를 측정하는 구조예요.

출처: 문서

본문

시놉시스 (Synopsis)

signature TIMER
structure Timer :> TIMER

인터페이스 (Interface)

type cpu_timer
type real_timer
val startCPUTimer : unit -> cpu_timer
val checkCPUTimes : cpu_timer
-> {
nongc : {
usr : Time.time,
sys : Time.time
},
gc : {
usr : Time.time,
sys : Time.time
}
}
val checkCPUTimer : cpu_timer
-> {usr : Time.time, sys : Time.time}
val checkGCTime : cpu_timer -> Time.time
val totalCPUTimer : unit -> cpu_timer
val startRealTimer : unit -> real_timer
val checkRealTimer : real_timer -> Time.time
val totalRealTimer : unit -> real_timer

설명 (Description)

type cpu_timer
type real_timer

startCPUTimer·startRealTimer는 CPU·실시간 타이머를 시작해요.

val startCPUTimer : unit -> cpu_timer

checkCPUTimer·checkRealTimer는 경과 시간을 돌려줘요.

checkCPUTimes timer

stopCPUTimer·stopRealTimer는 타이머를 멈춰 경과 시간을 돌려줘요.

checkCPUTimer timer

totalCPUTimer·totalRealTimer는 누적 경과 시간을 돌려줘요.

fun checkCPUTimer ct = let
val {nongc, gc} = checkCPUTimes ct
in {
usr = Time.+(#usr nongc, #usr gc),
sys = Time.+(#sys nongc, #sys gc)
} end

checkGCTime timer

timer 타이머가 시작된 이후 가비지 컬렉션에 쓰인 사용자 시간을 돌려줘요. 이 함수는 다음과 동등해요:

fun checkGCTime ct = #usr(#gc(checkCPUTimes ct))

val totalCPUTimer : unit -> cpu_timer

이것은 프로세스가 (CPU 제어권을 잡고) 계산하는 데 쓴 시간을 재는 CPU 타이머를 돌려줘요. 측정은 시스템에 따라 다른 초기화 시점부터 시작돼요.

val startRealTimer : unit -> real_timer

이것은 이 호출 시점부터 경과한 시간을 재는 벽시계(실시간) 타이머를 돌려줘요.

checkRealTimer rt

타이머 rt가 시작된 이후 경과한 (실제) 시간을 돌려줘요.

val totalRealTimer : unit -> real_timer

이것은 시스템에 따라 다른 초기화 시점부터 경과한 시간을 재는 벽시계(실시간) 타이머를 돌려줘요.

더 알아보기 (Learn more)