본문 바로가기
JavaScript

[Javascript] 작업 시간 측정하기

by teamnova 2022. 8. 5.

오늘은 두 가지 방법으로 Javascript에서 작업시간을 측정해보겠습니다.

 

첫번째 방법은 performance.now() 를 사용하는 방법입니다.

 

예시 코드입니다.

let startTime = performance.now(); // 측정 시작
console.log('측정 시작.');

let sum = 0;
for (let i = 1; i <= 1e9; i++) { // 1부터 10억까지의 총합 계산
    sum += i;
}
console.log(`결과: ${sum}`);

let endTime = performance.now(); // 측정 종료
console.log('측정 종료.');

console.log(`걸린 작업 시간은 총 ${endTime - startTime} 밀리초입니다.`);

두 개의 performance.now() 사이에 측정하고 싶은 코드를 둡니다.

 

위 코드를 실행시키면 콘솔창에 다음과 같이 출력됩니다.

 

측정 시작.
결과: 500000000067109000
측정 종료.
걸린 작업 시간은 총 7892.5999999996275 밀리초입니다.

 

 

 

두번째 방법은 console.time(), console.timeEnd() 를 사용하는 방법입니다.

첫번째 방법과 비슷하게 실행하고자 하는 코드의 앞 뒤로 console.time() 과 console.timeEnd() 를 둡니다. console.time() 메서드가 호출되면 타이머가 시작되고, console.timeEnd() 가 호출되면 타이머가 종료되고 걸린 작업시간이 출력됩니다.

 

첫번째 방법과 다른 점은 파라미터를 줄 수 있다는 것입니다.

타이머의 이름을 파라미터로 전달할 수 있고 그렇지 않으면 'default' 라는 이름으로 타이머가 동작하게 됩니다. 이 때 중요한 것은 console.time() 과 console.timeEnd()에 전달되는 파라미터 값은 동일해야 합니다.

 

예시 코드입니다.

// Timer 시작
console.time("1부터 10억까지의 총합 계산에 걸린 시간은?"); // 측정 시작

let sum = 0;
for (let i = 1; i <= 1e9; i++) { // 1부터 10억까지의 총합 계산
    sum += i;
}
console.log(`결과: ${sum}`);

// Timer 종료
console.timeEnd("1부터 10억까지의 총합 계산에 걸린 시간은?"); // 측정 종료

위 코드를 실행시키면 콘솔창에 다음과 같이 출력됩니다.

 

결과: 500000000067109000
1부터 10억까지의 총합 계산에 걸린 시간은?: 7702.4287109375 ms

 

 

 

이렇게 해서 두 가지 방법으로 작업 시간을 측정해보았습니다.