시스템의 성능을 측정하는 것은 매우 중요한 일이며, 성능 측정에 사용되는 척도는 컴퓨터 사용자 또는 설계자의 관점에 따라 다르다.
사용자의 관점에서는 Response time (응답 시간) = Execution time (실행 시간) 으로 '작업 시작에서 종료까지의 시간'을 의미한다.
관리자의 관점에서는 Throughput (처리량) = Bandwidth (대역폭) 으로 '단위 시간동안 처리하는 작업의 양'을 의미한다.
이때 더 빠른 processor을 사용하게 되면 response time과 throughput이 모두 개선되고, processor을 추가하게 되면 throughput만 개선된다.
Exucution time은 컴퓨터 성능의 가장 기본적인 척도로, 같은 작업을 최단 시간에 실행하는 컴퓨터가 가장 빠른 컴퓨터이다. 시간은 재는 방법에 따라 여러 가지로 정의할 수 있는데, Elapsed time (경과 시간) 또는 CPU time 이 있다.
Elapsed time 은 한 작업을 끝내는 데 필요한 전체 시간을 뜻하는 것으로 디스크 접근, 메모리 접근, I/O 작업, 운영체제 오버헤드 등 모든 시간을 다 더한 것을 의미한다.
CPU time 은 특정 작업의 실행을 위해 CPU가 소비한 시간을 측정한 것으로, user CPU time 과 system CPU time 으로 다시 나뉘어 진다.
하지만, 운영체제의 각 작업이 어떤 프로그램을 위해서 수행되고 있는가를 명확히 가려내는 것은 어렵기 때문에 일반적으로 user CPU time 을 CPU Time 이라고 한다.
CPU Time 관련 공식을 정리하면 다음과 같다.