성능의 정의
두 데스크톱 컴퓨터에서 같은 프로그램을 실행시키는 경우에 먼저 끝나는 쪽이 더 빠른 컴퓨터라고 할 수 있을 것이다. 그러나 여러 대의 서버를 가지고 여러 사용자의 작업을 처리하는 데이터센터를 운영할 때는 하루 동안 더 많은 작업을 처리하는 컴퓨터가 더 빠른 컴퓨터일 것이다. 컴퓨터 사용자 개인의 입장에서는 응답 시간(response time) - 작업 개시에서 종료까지의 시간 - 즉 실행시간(execution time)이 중요할 것이다. 그러나 데이터센터 관리자에게는 처리량(throughput), 혹은 대역폭(bandwidth)- 일정한 시간 동안 처리하는 작업의 양 이 더 중요하다. 그러므로 개인 휴대용 기기와 서버의 성능을 평가할 때 다른 성능 척도를 사용한다.
혼돈을 피하기 위하여 컴퓨터 성능을 정량적으로 비교할 때는 "...보다 빠르다"라는 용어만 사용하기로 한다. 성능과 실행시간은 역관계이므로, 성능을 증가시키면 실행시간은 감소한다.
성능의 측정
시간은 컴퓨터 성능의 가장 기본적인 척도이다. 같은 작업을 최단 시간에 실행하는 컴퓨터가 가장 빠른 컴퓨터이다. 여기서 프로그램 실행시간은 프로그램을 처리하는 데 걸린 시간을 초 단위로 표시한 것이다.
컴퓨터를 공유하는 경우, 프로세서 하나가 여러 프로그램을 동시에 실행하는 경우가 많이 있다. 이런 환경에서는 특정 프로그램의 경과시간을 최소화하는 것보다는 처리량을 최적화하는 것이 중요할 수 있다. 그러므로 경과시간과 구분해서 프로세서가 순수하게 이 프로그램을 실행하기 위해 소비한 시간을 계산할 필요가 있다. 이 시간을 CPU 실행시간(CPU execution time) 또는 단순히 CPU 시간(CPU time)이라고 하는데, 입출력에 걸린 시간이나 다른 프로그램을 실행하는 데 걸린 시간은 여기 포함되지 않는다. CPU 시간은 실제로 사용자 프로그램 실행에 소요된 사용자 CPU 시간(user CPU time)과 운영체제가 이 프로그램을 위한 작업을 수행하기 위해 소비한 시스템 CPU 시간(system CPU time)으로 다시 나눌 수 있다.
거의 모든 컴퓨터는 하드웨어 이벤트가 발생하는 시점을 결정하는 클럭을 이용하여 만들어진다. 이 클럭의 시간 간격을 클럭 사이클(clock cycle)이라 한다. 클럭 주기(clock period)는 한 클럭 사이클에 걸리는 시간이나 클럭 속도로 표시한다. 클럭 속도는 클럭 주기의 역수이다.
CPU 성능과 성능 인자

이 공식을 보면 클럭 사이클의 길이를 줄이거나 프로그램 실행에 필요한 클럭 사이클 수를 줄이면 성능을 개선할 수 있음을 알 수 있다.

명령어 성능
위에서 사용한 수식에는 프로그램 수행에 필요한 명령어 개수에 관한 사항이 포함되어 있지 않다. 그러나 컴파일러가 실행할 명령어를 생성하고 컴퓨터는 이 명령어를 실행해야 하기 때문에, 실행시간은 프로그램의 명령어 수와 관련이 있다.

명령어당 클럭 사이클수(clock cycles per instruction)는 CPI로 줄여 쓰기도 한다.
명령어마다 실행시간이 다르므로 CPI는 프로그램이 실행한 모든 명령어에 대해 평균한 값을 사용한다. 명령어 집합 구조가 같으면 프로그램에 필요한 명령어 수가 같으므로, CPI는 서로 다른 구현을 비교하는 한 가지 기준이 될 수 있다.


성능의 정의
두 데스크톱 컴퓨터에서 같은 프로그램을 실행시키는 경우에 먼저 끝나는 쪽이 더 빠른 컴퓨터라고 할 수 있을 것이다. 그러나 여러 대의 서버를 가지고 여러 사용자의 작업을 처리하는 데이터센터를 운영할 때는 하루 동안 더 많은 작업을 처리하는 컴퓨터가 더 빠른 컴퓨터일 것이다. 컴퓨터 사용자 개인의 입장에서는 응답 시간(response time) - 작업 개시에서 종료까지의 시간 - 즉 실행시간(execution time)이 중요할 것이다. 그러나 데이터센터 관리자에게는 처리량(throughput), 혹은 대역폭(bandwidth)- 일정한 시간 동안 처리하는 작업의 양 이 더 중요하다. 그러므로 개인 휴대용 기기와 서버의 성능을 평가할 때 다른 성능 척도를 사용한다.
혼돈을 피하기 위하여 컴퓨터 성능을 정량적으로 비교할 때는 "...보다 빠르다"라는 용어만 사용하기로 한다. 성능과 실행시간은 역관계이므로, 성능을 증가시키면 실행시간은 감소한다.
성능의 측정
시간은 컴퓨터 성능의 가장 기본적인 척도이다. 같은 작업을 최단 시간에 실행하는 컴퓨터가 가장 빠른 컴퓨터이다. 여기서 프로그램 실행시간은 프로그램을 처리하는 데 걸린 시간을 초 단위로 표시한 것이다.
컴퓨터를 공유하는 경우, 프로세서 하나가 여러 프로그램을 동시에 실행하는 경우가 많이 있다. 이런 환경에서는 특정 프로그램의 경과시간을 최소화하는 것보다는 처리량을 최적화하는 것이 중요할 수 있다. 그러므로 경과시간과 구분해서 프로세서가 순수하게 이 프로그램을 실행하기 위해 소비한 시간을 계산할 필요가 있다. 이 시간을 CPU 실행시간(CPU execution time) 또는 단순히 CPU 시간(CPU time)이라고 하는데, 입출력에 걸린 시간이나 다른 프로그램을 실행하는 데 걸린 시간은 여기 포함되지 않는다. CPU 시간은 실제로 사용자 프로그램 실행에 소요된 사용자 CPU 시간(user CPU time)과 운영체제가 이 프로그램을 위한 작업을 수행하기 위해 소비한 시스템 CPU 시간(system CPU time)으로 다시 나눌 수 있다.
거의 모든 컴퓨터는 하드웨어 이벤트가 발생하는 시점을 결정하는 클럭을 이용하여 만들어진다. 이 클럭의 시간 간격을 클럭 사이클(clock cycle)이라 한다. 클럭 주기(clock period)는 한 클럭 사이클에 걸리는 시간이나 클럭 속도로 표시한다. 클럭 속도는 클럭 주기의 역수이다.
CPU 성능과 성능 인자

이 공식을 보면 클럭 사이클의 길이를 줄이거나 프로그램 실행에 필요한 클럭 사이클 수를 줄이면 성능을 개선할 수 있음을 알 수 있다.

명령어 성능
위에서 사용한 수식에는 프로그램 수행에 필요한 명령어 개수에 관한 사항이 포함되어 있지 않다. 그러나 컴파일러가 실행할 명령어를 생성하고 컴퓨터는 이 명령어를 실행해야 하기 때문에, 실행시간은 프로그램의 명령어 수와 관련이 있다.

명령어당 클럭 사이클수(clock cycles per instruction)는 CPI로 줄여 쓰기도 한다.
명령어마다 실행시간이 다르므로 CPI는 프로그램이 실행한 모든 명령어에 대해 평균한 값을 사용한다. 명령어 집합 구조가 같으면 프로그램에 필요한 명령어 수가 같으므로, CPI는 서로 다른 구현을 비교하는 한 가지 기준이 될 수 있다.

